第九十七章 靈氣宇宙技術史的風格(第2/3頁)

哥德爾不完備定理,至今沒有被完整的突破過。

因為研究一個類型級別的數學實體,就需要比這個類型更高級別的元數學。

因此,研究涉及無窮超窮的數學實體,就成了需要無窮超窮的元數學。

而直覺主義是不承認“無限的實體”存在的。

就好像物理世界不存在一個“無限實體”一樣。

這讓形式主義和柏拉圖主義的人很難受,但是直覺主義一向是將“數學”看做是人類智慧的有窮構造性活動的。

在計算機日益發達的時代,直覺主義的繼承者,就提出了一個全新的口號,還嚴格定義了出來。

“定義即構造,構造即證明,證明即程序”。

他們打算借用形式主義者開發出的計算機器,來嚴格化自己的數學哲學思想。

最最嚴苛的類型系統,是沒有循環和自指的。

因而,這個系統,即使是涉及到“無限”的問題,因為並不會造成無限的邏輯回環,所以仍舊可以停機。

因為強規範化的類型系統,都是有窮終結的,也就是一切函數都可以停機並且給出唯一結果。

不存在自我指涉與無限循環這兩個停機問題上的幽靈。

這是在犧牲圖靈完備的前提下,對停機問題的一次利用。

也就是說,“類型論”是基礎數學領域的成就。

而由此衍生的,就是一類絕對可靠的計算機語言:強規範化類型語言。

這種語言理論上不會有因為編程語言設計上的問題而導致的惡性bug,而只會有編程員理解錯了設計意圖,分析錯了設計需求而導致的良性bug。

可說真的,你聽說過可以號稱“永不出錯”的語言嗎?

你的Windows沒有藍過屏?你的安卓沒有死過機?

世間的萬事萬物都是有代價的,強規範化類型語言,真的不是一般人能玩的。

沒有了圖靈完備之後,要寫類似於循環執行的東西也不是完全不能寫,但是就要成為人力驅動的執行分支預測器。

用心算為基石。一條條地預測推理每個邏輯分支,每個叠代的變化。

而強規範化類型系統本身的框框,也讓當時的編程員陷入了活體編譯器的泥潭。

真有這種智力水平的人才,又怎麽會甘心一輩子當人力編譯器不停的造輪子做這種苦累重的循環工作?

而且高智商的人才,是會更加喜歡自由度更大的語言的。

因此除了軍用環境這種家國情懷驅動的地方,和航空航天這種為了安全不惜一切代價的場景,才會用上這種語言。

也就是到了今天腦力資源過剩,科研民工甚至是科研房奴已經不新鮮的時代,才會有“將區塊鏈智能合約用可信編程保護起來”這種生意可做。

而圖靈完備的,帶有循環的編程結構,更加符合人類的使用習慣,並且賦予當時的計算機科學前沿人士發揮想象力的自由度,並且最重要的,降低了編程人員準入的門檻,給編程工韭菜養殖打下良好基礎。

這就是早期的工業編程語言了。背好你自己搞出來的那一大堆指針和參數的類型,推算好類型的轉換和指針的回收,就不會出事。

在強類型的基礎上,將程序員推導類型參數的變化過程,類型推導,交給編程語言的編譯器去做的話,就是弱類型了。

而如果進一步將垃圾回收和指針回收都丟給解釋器或虛擬機,就從靜態語言變成了動態語言。

將這些類型不安全的語言和類型論再雜交一下,就得到了錯誤捕獲。

加上了嚴格的這種機制的語言就是類型安全語言了:理論上程序出bug了就只會幹掉程序,而不會隨機遊走運行一些無法預測的,甚至是讓機主的心血壞掉的惡意代碼。

當然,實際上靠譜不靠譜……都是用過那麽多年電腦的大家都有數了。

傳說中的類型安全+並發安全的Rust,也是到了編程民工滿地走的當下才搞出來的,一路走來也磕磕碰碰,至今也沒完成對相關特性的形式化驗證。

如果從類型論的觀點來看的話,那麽……王崎之前的萬象卦文,應該算是……無類型語言。

從一堆類型不安全的模塊經由各種轉化規則堆出來的類型不安全,並發也不安全的無類型語言。

無類型語言的自由度高,可以令高等數學的推理過程直接在物理機上實現,且更接近人類的思維習慣。

是的,非常接近於地球上那些通過類型轉化規則從有類型活生生堆成的“無需類型”的編程語言,只不過,萬象卦文是真的同時具有“無類型”“類型不安全”“並發不安全”的性質。

自由是自由了,但是相對的,這東西也一樣不好用。

如果真的發生了編譯錯誤,那麽計算機就很有可能輸出無法預料的結果,而非直接停機。