為什么(傳奇)計算機科學教授 Donald Knuth 對“CWEB”如此瘋狂?我不明白他的這種“新語言”的書面優點?
“瘋狂的”?“新語言”?
您鏈接到的這本書是 1993 年寫的。 第三次印刷是 2001 年,最后一次穩定版本是在 2006 年。
從那以后發生了很多變化。今天的編程與 1980 年代的編程大不相同。特別是,我認為 Python 極大地改變了人們對軟件開發過程的看法。以唐納德·克努斯 (Donald Knuth) 無法預料的方式發生了變化。
我的意思是,Donald Knuth 有很多想法。如果你有很多想法,其中一些更好,一些更糟(或者,“不太適合現實”)。
在 Knuth 的想法中,我們沒有留下來,有 MIX 匯編,還有 CWEB 和整個文學編程運動。我認為他們都存在同樣的缺陷:他們否認編程語言是“表達媒體”(它們實際上是)。
我的意思是,我們稱編程語言為“語言”這一事實不僅僅源于它們與“真正的語言”的相似之處:它們傾向于共享它們的表達特征(例如定義新詞的能力)。這就是為什么我們可以使用程序來交流和表達想法。
Knuth 的方法似乎完全忽略了這種洞察力。他的 MIX 程序集不能像大多數高級編程語言那樣被稱為“一種語言”,僅僅因為它沒有表現力。除了源代碼之外,使用“自然語言散文”引入了雙重性。
請注意,現代編程技術確實利用了編程語言的表達能力。例如,為代碼編寫自動化測試的做法不僅使我們的代碼“更經測試”,而且——更重要的是——它提供了“可執行文檔”,想要了解系統中特定功能的程序員可以閱讀這些文檔是用來使用的。
話雖如此,我不認為 Knuth 會“為 CWEB 瘋狂”。
本站所有相關知識僅供大家參考、學習之用,部分來源于互聯網,其版權均歸原作者及網站所有,如無意侵犯您的權利,請與小編聯系,我們將會在第一時間核實并給予反饋。