99 結語:永無止境的抽象化之路#
回望:一場持續七十年的接力#
從 1930 年代希爾伯特的最後執念,到 2020 年代LLM 的統計生成,本書講述的其實是一個不斷重複的模式:
每當一台機器承擔了某層細節,人類就向上一層遷移,帶著新的能力與新的危機,直到下一次抽象化再將他們托起。
後設系統(McCarthy)證明了機器可以推理 → 編譯器證明了機器可以翻譯 → UNIX 證明了機器可以提供服務 → 物件導向證明了機器可以管理結構 → 網路證明了機器可以連接彼此 → 開源證明了人類可以協作無需許可 → 大語言模型證明了——機器可以學習人類的語言本身。
這條路的每一站,都重複著相同的兩幕:
- 狂喜幕:「再也不用寫底層了!」——生產力解放,新人湧入,產業擴容
- 清算幕:「抽象層洩漏了!」(Spolsky)——新的危機(記憶體戰爭、並發戰爭、AI 幻覺戰爭)催生新的驗證層
抽象與危機的交替,是本書的第一定律。
本書的七條定律#
如果壓縮成最精華的清單:
- 驗證/生成不對稱律(哥德爾→16 章):檢查是機械的,生成是洞察的——把生成交給機率,把驗證交給符號。
- 抽象守恆律(4–17 章):被抽象化的複雜性不會消失,只會轉移到他處——通常是轉移到「搭建抽象的人」身上。
- 慣例即權力律(14 章):預設值的選擇是隱形立法——誰定義慣例,誰就塑造所有人的工作。
- 工具自養律(3–5 章):每一代工具都是下一代工具的原料(UNIX 編譯 UNIX、編譯器寫編譯器)——「bootstrapping」是整部計算機史的命名法。
- 理論搶跑律(1–15 章):工業的解常是數十年前理論的遲到實現(CSP 等 30 年、線性邏輯等 30 年、Hoare 邏輯等 50 年)——數學不會被辜負,只是 heir 需要等待。
- 人口擴容律(5.3):每次抽象化使「能編程的人」數量級孿增,而「需要編程的事」增長得更快——軟體永遠不夠。
- 責任不可委託律(17 章):生成可以自動化,判斷與責任永遠屬於人——這是所有 AI 時代法律的先驗前提。
三個尚未收尾的問題(留給下一本書,或留給你)#
- 驗證層的終極形態是什麼? 型別系統正在吞併邏輯(定理證明器成為編譯器的極限版),邏輯正在吞併型別——Codex/形式化的合流會把「正確性」從美變成預設嗎?
- 意圖的所有權屬於誰? 當規格、測試、代碼可以分離儲存與生成,智慧財產的定義需要重寫——訓練語料的版稅制度、生成式作品的歸屬、開源與專有的新邊界。
- 下一層抽象的觸發器是什麼? 歷史上的每次躍遷都需要:硬體紅利(新計算載體)+ 危機(當前範式的破產)+ 理論儲備(搶跑的數學)。量子計算、生物計算、或任何尚未命名之物——哪一個在等待它的 1956?
一個程序員的自修指南(本書的實用出口)#
面對任何新技術浪潮,可以用本書的羅盤自我定位:
- 它在抽象掉什麼?(每次浪潮都有自己的「卸下的複雜性」——找到它,你就知道新的危機會在哪裡爆發)
- 它的驗證層在哪裡?(沒有機器可檢查的裁決機制的浪潮,通常是泡沫)
- 它的慣例是由誰制定的?(追蹤預設值的作者,就追蹤了權力)
- 它吃掉了誰的舊手藝,又生成了誰的新手藝?(職業遷徙的方向)
- 它的理論基礎有多少年的積分?(理論積分越厚的浪潮,越持久)
最後的話#
回到 1936 年,圖靈在論文中定義了一台只會做最簡單事情的機器:讀一個符號、寫一個符號、左移、右移、停機。
九十多年後,這台機器的後裔們在為人類寫詩、證明定理、管理城市電網、生成下一代的自己。
而所有這一切的介面——程式語言——從來不是技術的附屬品,而是人類理性的延伸邊界。每一次我們重造它,我們都在重新回答那個古老問題:
人能將多少自己的思維,託付給機器,同時仍然配得上「思考者」之名?
這個問題沒有終點。抽象化之路,永無止境。
謝謝你讀到這裡——現在,去寫下一層抽象吧。