为什么(传奇)计算机科学教授 Donald Knuth 对“CWEB”如此疯狂?我不明白他的这种“新语言”的书面优点?
“疯狂的”?“新语言”?
您链接到的这本书是 1993 年写的。 第三次印刷是 2001 年,最后一次稳定版本是在 2006 年。
从那以后发生了很多变化。今天的编程与 1980 年代的编程大不相同。特别是,我认为 Python 极大地改变了人们对软件开发过程的看法。以唐纳德·克努斯 (Donald Knuth) 无法预料的方式发生了变化。
我的意思是,Donald Knuth 有很多想法。如果你有很多想法,其中一些更好,一些更糟(或者,“不太适合现实”)。
在 Knuth 的想法中,我们没有留下来,有 MIX 汇编,还有 CWEB 和整个文学编程运动。我认为他们都存在同样的缺陷:他们否认编程语言是“表达媒体”(它们实际上是)。
我的意思是,我们称编程语言为“语言”这一事实不仅仅源于它们与“真正的语言”的相似之处:它们倾向于共享它们的表达特征(例如定义新词的能力)。这就是为什么我们可以使用程序来交流和表达想法。
Knuth 的方法似乎完全忽略了这种洞察力。他的 MIX 程序集不能像大多数高级编程语言那样被称为“一种语言”,仅仅因为它没有表现力。除了源代码之外,使用“自然语言散文”引入了双重性。
请注意,现代编程技术确实利用了编程语言的表达能力。例如,为代码编写自动化测试的做法不仅使我们的代码“更经测试”,而且——更重要的是——它提供了“可执行文档”,想要了解系统中特定功能的程序员可以阅读这些文档是用来使用的。
话虽如此,我不认为 Knuth 会“为 CWEB 疯狂”。
本站所有相关知识仅供大家参考、学习之用,部分来源于互联网,其版权均归原作者及网站所有,如无意侵犯您的权利,请与小编联系,我们将会在第一时间核实并给予反馈。