為什么(傳奇)計(jì)算機(jī)科學(xué)教授 Donald Knuth 對(duì)“CWEB”如此瘋狂?我不明白他的這種“新語(yǔ)言”的書(shū)面優(yōu)點(diǎn)?
“瘋狂的”?“新語(yǔ)言”?
您鏈接到的這本書(shū)是 1993 年寫(xiě)的。 第三次印刷是 2001 年,最后一次穩(wěn)定版本是在 2006 年。
從那以后發(fā)生了很多變化。今天的編程與 1980 年代的編程大不相同。特別是,我認(rèn)為 Python 極大地改變了人們對(duì)軟件開(kāi)發(fā)過(guò)程的看法。以唐納德·克努斯 (Donald Knuth) 無(wú)法預(yù)料的方式發(fā)生了變化。
我的意思是,Donald Knuth 有很多想法。如果你有很多想法,其中一些更好,一些更糟(或者,“不太適合現(xiàn)實(shí)”)。
在 Knuth 的想法中,我們沒(méi)有留下來(lái),有 MIX 匯編,還有 CWEB 和整個(gè)文學(xué)編程運(yùn)動(dòng)。我認(rèn)為他們都存在同樣的缺陷:他們否認(rèn)編程語(yǔ)言是“表達(dá)媒體”(它們實(shí)際上是)。
我的意思是,我們稱編程語(yǔ)言為“語(yǔ)言”這一事實(shí)不僅僅源于它們與“真正的語(yǔ)言”的相似之處:它們傾向于共享它們的表達(dá)特征(例如定義新詞的能力)。這就是為什么我們可以使用程序來(lái)交流和表達(dá)想法。
Knuth 的方法似乎完全忽略了這種洞察力。他的 MIX 程序集不能像大多數(shù)高級(jí)編程語(yǔ)言那樣被稱為“一種語(yǔ)言”,僅僅因?yàn)樗鼪](méi)有表現(xiàn)力。除了源代碼之外,使用“自然語(yǔ)言散文”引入了雙重性。
請(qǐng)注意,現(xiàn)代編程技術(shù)確實(shí)利用了編程語(yǔ)言的表達(dá)能力。例如,為代碼編寫(xiě)自動(dòng)化測(cè)試的做法不僅使我們的代碼“更經(jīng)測(cè)試”,而且——更重要的是——它提供了“可執(zhí)行文檔”,想要了解系統(tǒng)中特定功能的程序員可以閱讀這些文檔是用來(lái)使用的。
話雖如此,我不認(rèn)為 Knuth 會(huì)“為 CWEB 瘋狂”。
湖北農(nóng)機(jī)化
農(nóng)業(yè)基礎(chǔ)科學(xué) - 省級(jí)期刊
農(nóng)業(yè)與技術(shù)
農(nóng)業(yè)綜合 - 國(guó)家級(jí)期刊
英語(yǔ)教師
初等教育 - 省級(jí)期刊
建筑與裝飾
合作期刊 - 省級(jí)期刊
科學(xué)咨詢(科技管理)
合作期刊 - 省級(jí)期刊
當(dāng)代旅游
合作期刊 - 省級(jí)期刊
機(jī)電信息
合作期刊 - 省級(jí)期刊
中國(guó)水運(yùn)
公路與水路運(yùn)輸 - 國(guó)家級(jí)期刊
中國(guó)科技信息
合作期刊 - 國(guó)家級(jí)期刊
中國(guó)設(shè)備工程
合作期刊 - 國(guó)家級(jí)期刊
經(jīng)濟(jì)研究導(dǎo)刊
合作期刊 - 省級(jí)期刊



















