大家看看能否看得懂哦,呵呵!
最早的想法是産生于對oo方法的不滿,主要的想法是将對象拆開為方法和屬性以實作更加靈活的組合,在此之上構想了很多特性,但是過于零散,沒有統一的理論,還肯定存在嚴重的特性沖突問題。
将計算機代碼看做一個由邏輯實作的符号運算展開的結果,類似于元程式設計,自稱為“邏輯宏”,用邏輯宏實作聲明式與過程式的結合,可以實作aop,lop,更理想的oo,等諸多特性。
認識到時間在語言表達中的重要性,因而提出了記憶機制,通過構造一個帶有記憶機制,事件-動作響應的邏輯語言來實作代碼,讓諸多抽象的語言結構得到實作,将2中所描述的邏輯宏在這個機制上構造。這個描述仍然需要一個虛拟機去執行。
時間不再是一個需要特殊看待的東西,一切都包括在一個關于世界的邏輯結構中,世界的現在,過去和未來都是這個邏輯結構的一部分。将3中所描述的記憶,事件-動作響應,通過純粹的邏輯方式構造出來。虛拟機再也不需要了,而虛拟機本身也是邏輯構造的一部分。
邏輯本身,是可以由圖靈機所依賴的時空法則所構造出來的,最基礎的三段論,經典邏輯,一階邏輯,高階邏輯,模态邏輯及各種非經典邏輯,将在一個一緻的基礎上構造出來,在這個構造中,可以看到時空法則,邏輯,圖靈機的糾纏關系,還可以看到邏輯是如何在與現實的互動中發揮作用。
-------------------------------------------------------------------
java和c#的改進實際上都在第一層
先進的函數式語言一般都是在第二層上做工作
計算機語言領域隻看到lisp的發明人的新語言試圖在第三層上有所作為
計算機語言的語義學在第四層上有一些零星的成果。
第五層隻是在哲學意義上被提及。
-------------------------------------------------------------------
這個層怎麼分,值得大作文章,更确切地說,不是我們想怎麼分,而是去發現自然的分層法則。邏輯體系的分層(與分類),一階、二階……也是我一直看到的最重要的線索之一,不過,似乎就邏輯方面的研究本身,也沒有把這個層級體系作為一個課題充分地闡明吧?我現在也還很朦胧。
我對你的計劃和思路很感興趣的地方,正是把圖靈機作為最原始的邏輯,然後層次地構造更複雜、進階的邏輯,還有,就是你對于關系模型的一些基本方式——這二者都具有堅實的數學基礎。現在,軟體界主流基本上用“oo”來填補這兩者之間的空缺,這個你批判得很透徹了。
然而,我想要提醒或補充的是,這二者并不能直接地連接配接,這中間還有一些重要的關系需要揭示,而且也有(我認為已經初步顯露)一塊重要的數學基礎(主要就是是有限模型論),以及在這個數學基礎之上建立的,一種與圖靈機、關系模型幾乎同等位置的“計算”模型(或一種理論,姑且這麼說吧)。
簡單地說吧,中間這一塊,解決的就是所謂邏輯和現實世界(無限、開放的)之間的關系
實話說,對第五層我實在沒信心,因為這是在圖靈機假設下探索最基本的哲學問題了。你提到的有限模型論我今天查閱了一下,我覺得應該對我将來在理論方面的工作啟發很大,非常感謝。
對于一定的工程成果,我還是很有信心的,我大量的日記都是在寫如何用這樣一種統一理論來解決工程實踐中的各種問題,包括dsl,效率,解釋和編譯,類型體系,等等等等。這些方方面面的問題和解決方法,我已經花費了大量時間和精力來尋找,真正的突破是在最近2到3年産生的。
我這個層次劃分,也不是單純從理論本身出發,而是在探索過程中感受到的幾個台階,每上一個台階都會解決原來所無法想明白的很多問題。
我的方法論,是從這個探索過程中總結出來的,而且起到了非常大的作用,每當我把分析哲學的問題放到一個軟體的環境中去思索的話,思想很快會被澄清,而且結論幾乎是确鑿無疑的,将來,在我的語言中也是可以驗證的。
現在的精力主要集中在用prolog和本地程式相配合,構造一個類似emacs的ide,做為第一步要釋出的成果。期望在1年左右的時間内能夠進行展示。
關系模型(代數)+模型論+圖靈機,以及它們關聯的邏輯體系,是我十多年思考所得到的最寶貴的拼圖,我相信,沒有中間那一塊,就無法真正解決圖靈機與現實世界(最終應用問題)的關系問題。關于這一點,我在國外的軟體工程社群也在嘗試做一點交流,總的來說,很難找到對這個問題有真正感覺的人,即使個别已經熟悉有限模型論與關系模型方面進展的人,似乎也表現得缺乏一些基本的宏觀視圖。
此外,可留意一下模型論語義學和本體方面(與模型論應用有關)的研究。我的着眼點和層次與你的工作有些不同,我會從更宏觀,以及“應用架構”的角度切入,最近正在準備在部落格上做一些更具體的讨論,希望有機會多與你交流!
了解你的計劃的艱巨和意義,相信這是一個卓越的嘗試,等着看你的結果:-)
還有,你說的第五層……我不敢說了解了多少,但我認為,我們隻需要找到眼前的建構性的原則,和一些整體的原則,然後由最基礎的層次(已經有了:圖靈機)開始,一個層次一個層次地構造,其實,後面的層次具體是什麼樣,我們很難甚至也不必太早知道……這也是我的建構的哲學。
好,希望多交流,的确非常難得,我英文很爛,而我的理論又涉及到一些分析哲學中的概念,就更難以交流了。還好現在以實際産品為成果,将來可以直接用代碼解釋。
我在英語世界中僅僅曾經把構思中的一個很小的文法特性發到ltu論壇上,結果有個家夥用我的兩倍篇幅重新替我解釋了一遍,最後評論道:
update: p.s.: it's a very subversive idea, too, in that it suggests a completely different approach to problem that ever-more-sophisticated type-theory-inspired systems are coming up with. a much simpler and yet plausibly more powerful approach.
這的确讓我受到了很大的鼓舞。