哥德爾不完備定理,至今沒有被完整的突破過。
因為研究一個型別級別的數學實體,就需要比這個型別更高階別的元數學。
因此,研究涉及無窮超窮的數學實體,就成了需要無窮超窮的元數學。
而直覺主義是不承認「無限的實體」存在的。
就好像物理世界不存在一個「無限實體」一樣。
這讓形式主義和柏拉圖主義的人很難受,但是直覺主義一向是將「數學」看做是人類智慧的有窮構造性活動的。
在計算機日益發達的時代,直覺主義的繼承者,就提出了一個全新的口號,還嚴格定義了出來。
「定義即構造,構造即證明,證明即程式」。
他們打算借用形式主義者開發出的計算機器,來嚴格化自己的數學哲學思想。
最最嚴苛的型別系統,是沒有迴圈和自指的。
因而,這個系統,即使是涉及到「無限」的問題,因為並不會造成無限的邏輯迴環,所以仍舊可以停機。
因為強規範化的型別系統,都是有窮終結的,也就是一切函式都可以停機並且給出唯一結果。
不存在自我指涉與無限迴圈這兩個停機問題上的幽靈。
這是在犧牲圖靈完備的前提下,對停機問題的一次利用。
也就是說,「型別論」是基礎數學領域的成就。
而由此衍生的,就是一類絕對可靠的計算機語言:強規範化型別語言。
這種語言理論上不會有因為程式語言設計上的問題而導致的惡性bug,而只會有程式設計員理解錯了設計意圖,分析錯了設計需求而導致的良性bug。
可說真的,你聽說過可以號稱「永不出錯」的語言嗎?
你的windows沒有藍過屏?你的安卓沒有死過機?
世間的萬事萬物都是有代價的,強規範化型別語言,真的不是一般人能玩的。
沒有了圖靈完備之後,要寫類似於迴圈執行的東西也不是完全不能寫,但是就要成為人力驅動的執行分支預測器。
用心算為基石。一條條地預測推理每個邏輯分支,每個迭代的變化。
而強規範化型別系統本身的框框,也讓當時的程式設計員陷入了活體編譯器的泥潭。
真有這種智力水平的人才,又怎麼會甘心一輩子當人力編譯器不停的造輪子做這種苦累重的迴圈工作?
而且高智商的人才,是會更加喜歡自由度更大的語言的。
因此除了軍用環境這種家國情懷驅動的地方,和航空航天這種為了安全不惜一切代價的場景,才會用上這種語言。
也就是到了今天腦力資源過剩,科研民工甚至是科研房奴已經不新鮮的時代,才會有「將區塊鏈智慧合約用可信程式設計保護起來」這種生意可做。
而圖靈完備的,帶有迴圈的程式設計結構,更加符合人類的使用習慣,並且賦予當時的電腦科學前沿人士發揮想象力的自由度,並且最重要的,降低了程式設計人員准入的門檻,給程式設計工韭菜養殖打下良好基礎。
這就是早期的工業程式語言了。背好你自己搞出來的那一大堆指標和引數的型別,推算好型別的轉換和指標的回收,就不會出事。
在強型別的基礎上,將程式設計師推導型別引數的變化過程,型別推導,交給程式語言的編譯器去做的話,就是弱型別了。
而如果進一步將垃圾回收和指標回收都丟給直譯器或虛擬機器,就從靜態語言變成了動態語言。
將這些型別不安全的語言和型別論再雜交一下,就得到了錯誤捕獲。
加上了嚴格的這種機制的語言就是型別安全語言了:理論上程式出bug了就只會幹掉程式,而不會隨機遊走執行一些無法預測的,甚至是讓機主的心血壞掉的惡意程式碼。
當然,實際上靠譜不靠譜……都是用過那麼多年電腦的大家都有數了。
傳說中的型別安全+併發安全的rust,也是到了程式設計民工滿地走的當下才搞出來的,一路走來也磕磕碰碰,至今也沒完成對相關特性的形式化驗證。
如果從型別論的觀點來看的話,那麼……王崎之前的永珍卦文,應該算是……無型別語言。
從一堆型別不安全的模組經由各種轉化規則堆出來的型別不安全,併發也不安全的無型別語言。
無型別語言的自由度高,可以令高等數學的推理過程直接在物理機上實現,且更接近人類的思維習慣。
是的,非常接近於地球上那些通過型別轉化規則從有型別活生生堆成的「無需型別」的程式語言,只不過,永珍卦文是真的同時具有「無型別」「型別不安全」「併發不安全」的性質。
自由是自由了,但是相對的,這東西也一樣不好用。
如果真的發生了編譯錯誤,那麼計算機就很有可能輸出無法預料的結果,而非直接停機。
這就意味著,碼農必須非常瞭解自己碼的是什麼,甚至需要利用自己的心算能力,為自己碼的東西糾錯。就和人力預測邏輯分支一樣,但是是預測哪裡錯。
這對程式設計師的能力要求,也很高。
只不過吧,在這個世界,只要兼修一下爻定算經之類萬法門功法,就可以解決這個問題了。
也就是說,大家這麼多年了,其實也不是介意當個人肉糾錯器。
這是型別論在地球上的大致狀況。
而在這個世界,情況就有點詭異了。
陳由嘉,是藉助神州現在離宗連宗論戰的東風,從算君的獸機關叢集演算法之中,反推出這一道理論的。
而且,還是從形式語言學上的得到了靈感。
形式語言學可以算是電腦科學平行發展的一支。
但是,這個過程……
也確實……
充滿了這個宇宙技術史的風格。