Unix 是个恶作剧
原文发表于公众号 RGT 与书。
本书记录了被遗忘的计算机史。它收集了 1988-1993 年间偏爱 LIPS Machine、在 MIT 扎堆的计算机科学家,因不满 Unix 极其混乱的用户界面和不稳定的运行环境,在 UNIX-HATERS (即书名)这个邮件组中组团对其进行的持续吐槽和攻击。Worse is Better原文中的所描述的 The New Jersey Style vs The MIT Style 中的"The MIT Style"就是指这帮人。
倾听反对者的意见才能获得全面的认知。任何成功的技术/文化/产品/哲学都会有一批狂热鼓吹者,坚定地认为他们所支持是正确的历史潮流,并将永远正确。这些拥趸的危害远大于反对者的危害,堪称 cultist。历史证明,LISP Machine 已死,Unix/Linux 当立,但是这并不足以我们简单地得出 Worse is Better 的结论 -- 极端的观点往往是错误的观点。书中对 Unix 的攻击也并非偏见,而是切实的 Unix 的缺陷和不足。不少书中的吐槽在 Unix 后续的版本中得到了修正。
本书提供了与 The Art of Unix Programming完全相反的视角,对照阅读,看他们互相吐槽,别有一番风味。值得一提的是, Dennis Ritchie 很有风度地为这本书写了序。虽然在序中开玩笑地骂了他们一顿。
本书已经开源,下载地址在:https://web.mit.edu/~simsong/www/ugh.pdf
以下是书中附录的, Unix a Hoax 的翻译:
Ken Thompson、Dennis Ritchie 和 Brian Kernighan 发表了震惊计算机行业的公告,承认他们创建的 Unix 操作系统和 C 编程语言是精心制作的、持续了 20 多年的愚人节恶作剧。在最近的 UnixWorld 软件开发论坛上,Thompson 透露了以下内容:
“1969 年,AT&T 刚刚终止了与 GE/Honeywell/AT&T Multics 项目的合作。 Brian 和我刚刚开始使用 Nichlaus Wirth 教授在瑞士的 ETH 实验室设计的早期版本的 Pascal,我们对其优雅的简洁和强大的功能印象深刻。丹尼斯刚刚读完《Bored of the Rings》,这是一部对伟大的托尔金 《Lord of the Rings》(《魔戒》)三部曲的滑稽讽刺模仿。我们决定开个玩笑,讽刺模仿 Multics 和 Pascal。丹尼斯和我负责操作环境。我们研究了 Multics ,并将新系统设计得尽可能复杂和神秘,以最大限度地提高非正式用户的挫败感。我们称该系统为 Unix, 作为对 Multics 滑稽的模仿,并冒险影射了一些其它系统。然后 Dennis 和 Brian 研发了一个非常扭曲的 Pascal 版本,称为 “A”。当我们发现的确有人正在尝试使用 A 创建真正的程序时,我们迅速添加了额外的神秘特性并演变为 B、BCPL,最后是 C。当我们能按照以下语法进行成功地编译时,我们满足了:
for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(u++/8)%2))P ("| "+(u/4)%2);
我们完全不能理解,现代程序员会尝试使用一门允许这样声明的语言!我们其实想过把它卖给苏联,足以让他们的计算机科学发展倒退 20 年以上。想象一下,当 AT&T 和其他美国公司真的开始尝试使用 Unix 和 C 时,我们有多惊讶!他们花了 20 年的时间来开发足够的专业知识,以使用 1960 年代的技术模仿来生成只是勉强有用的应用程序。但我们对所有 Unix 和 C 程序员的坚韧(如果不是常识)印象深刻。过去几年里,Brian、Dennis 和我一直只在 Pascal 的 Apple Macintosh 上工作。我们对很久以前愚蠢的恶作剧造成的混乱、困惑和实在糟糕的编程感到非常内疚。”
目前,包括 AT&T、微软、惠普、GTE、NCR 和 DEC 在内的主要 Unix 和 C 的供应商和客户拒绝发表评论。
Borland International 是 Pascal 和 C 工具(包括流行的 Turbo Pascal、Turbo C 和 Turbo C++)的领头供应商,他们表示多年来其实一直怀疑这一点,他们将继续增强他们的 Pascal 产品,而停止进一步开发 C 的努力。
一位 IBM 发言人失控大笑,他们不得不推迟匆忙召开的关于 RS-6000 命运的新闻发布会,只是说“Virtual Machine 很快就会上市”。
ETH 研究所的 Wirth 教授 -- Pascal、Modula 2 和 Oberon 之父 -- 仅在一份含糊的声明中表示 P. T. Barnum 是正确的。
在最新的相关报道中,据可靠消息称,Bill Gates 可能会就 MS-DOS 和 Windows 操作环境做出类似的供述。 IBM 发言人则已经开始否认 Virtual Machine 产品是一个不幸泄露的内部恶作剧。
{计算机世界 4 月 1 日}
{由伯纳德 L. 海耶斯供稿}