有在supervening relationships一種美的構建面向對象的編程語言。考慮以下示例:從「原子」
- 原子由亞原子粒子,分子由原子組成,細胞分子組成,器官是由細胞,人是由器官,社會是由人。
- 的game of Go的複雜的策略是在需要做出結構與「兩隻眼睛」,使他們能活得下去建 - 然而,「兩隻眼睛」的事情永遠不會在規則中所規定,但本身的涌現性Go的非常簡單的規則。
- 的Conway's_Game_of_Life圖靈完整性可以在gliders,guns和spaceships術語,這是在轉基於開啓和關閉和very simple set of rules的概念證明。
在所有情況下,一組最小的對象和一組最小的規則最終導致非常複雜的結構。
我的第一個問題:是否有可能勾畫出一小組和一組可用於構建OOP語言的編程「對象」和「規則」?
現在,聰明計算機科學家很可能指向的rule 110圖靈完備性,並說,這是你所需要的!但那不是我想要的。相反,冒着不明確問題的風險,可以將哪些最簡單的,人類可理解的概念構建到面向對象的編程語言中?
對於暗示我想要什麼不好的和不完整的例子,定義了三個概念對象:一個參考,一個功能和信息持有者。然後(等級2?)將結構定義爲信息持有者,其通過對其他信息文件夾的引用來保存其他信息。一個基本的類(3級?)將增加結構一起功能的引用,但額外的結構必須被用來處理私人與公共職能的概念。最終,我們應該獲得全功能的OOP語言,該語言完全基於基本概念構建,並且我們無法通過硬編碼優化或語法鹽與機器碼來欺騙。理想情況下,最終結果仍然是有吸引力和可讀性的代碼。
我的第二個問題:有沒有任何OOP語言在那裏已經接近這個?
此前已經完成(http://goo.gl/9RHP4),不止一次。我的一位教授創建了一種語言,定義了所有以0/1爲布爾代數開始的離散數學;如果你有興趣,我可能會找到一個參考。 – Apalala 2011-02-01 14:46:17
@Apalala如果不難找到參考,那麼我會感興趣。但不要花太多時間。你給了我一個Lisp參考。我想知道Lisp是否會在這次談話中露面。 – JnBrymn 2011-02-01 15:28:00
貝瑞曼我找到了參考。矛盾的是,要定義一種語言,你必須用某種語言來完成它。該參考使用謂詞邏輯,所以我不認爲你會感興趣。 – Apalala 2011-02-18 14:51:00