汤普森、里奇和科尼根承认unix是个恶作剧。

2020-08-22 03:15:08

这件东西是在Usenet上发现的。这是虚构的,不是现实的。永远记住这不是真的。这真是个笑话,对吗?--编辑。

肯·汤普森、丹尼斯·里奇和布莱恩·科尼根的声明震惊了计算机行业,他们承认由他们创建的Unix操作系统和C编程语言是一个精心策划的恶作剧,维持了20多年的时间。汤普森在最近的UnixWorld软件开发论坛上透露了以下信息:1969年,AT&;T刚刚终止了与Thege/Honeywell/AT&;TMultics项目的合作。布莱恩和我从瑞士尼克劳斯·沃斯(Niklaus Wirth)教授的ETH实验室早期发布的Pascal开始工作,它优雅的简洁性和强大的功能给我们留下了深刻的印象。丹尼斯刚刚读完“指环王”,这是一部国家讽刺杂志对托尔金的“指环王”三部曲的恶搞。作为一个玩笑,我们决定学习Multics环境和Pascal。丹尼斯和我对工作环境负责。我们研究了Multics,并将新的操作系统设计得尽可能复杂和神秘,以最大限度地提高普通用户的挫折感,称其为Unix,作为Multics的恶搞,以及其他更具攻击性的!典故。我们把这种通用语言卖给了见习学员,告诉他们这样可以省去打字的麻烦。然后,丹尼斯和布莱恩制作了一个扭曲版的帕斯卡,名为“帕斯卡”,看起来很像帕斯卡,但他们把直接存储器地址(沃斯已将其驱逐)的概念提升到指针这个核心概念,认为它是真正恶意结构的一个听起来无害的名字。Brian绝对没有标准的I/O规范,这确保了在更换硬件平台时,至少50%的典型商业程序必须重新编码。Brian还负责将这种缺乏I/O的特性作为一个特性:它使我们能够将该语言描述为真正可移植的语言。当我们创建其他实际使用A的程序时,我们删除了对函数参数的强制类型检查。后来,我们添加了另一个我们称为“强制转换”的语句:这允许程序员将整数当作50KB的用户定义结构来处理。当我们发现一些程序员根本不使用指针时,我们取消了将结构传递给函数的能力,即使在最简单的应用程序中也强制使用它们。我们出售这一功能,以及许多其他功能,以增强语言的效率。就这样,我们的恶作剧演变成了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程序员的坚韧给我们留下了深刻的印象。事实上,布莱恩、丹尼斯和我自己从未尝试过在这种环境下编写商业应用程序。我们对很久以前我们的愚蠢恶作剧导致的混乱、混乱和一些真正令人惊叹的编程项目感到非常内疚。丹尼斯·里奇说:真正让我们痛心的(就在ADA抓住它的时候)是比恩·斯特劳斯特鲁普(Bjarne Stroustrup)抓住了我们的笑话。他将其扩展到进一步的恶搞Smalltalk。和我们一样,当没有人笑时,他也大吃一惊。因此,他添加了多个继承、虚拟基类以及后来的……模板。一切都无济于事。因此,我们现在的编译器可以每秒编译100,000行,但需要处理头文件25分钟,然后才能进入“你好,世界”的核心部分。目前,包括AT&;T、微软、惠普、GTE、NCR和DEC在内的主要Unix和C供应商和客户均拒绝置评。Borland International是一家领先的面向对象工具供应商,包括流行的Turbo Pascal和Borland C++,该公司表示,他们怀疑Windows系统最初是用C++编写的。菲利普·卡恩(Philippe Kahn)说:经过两年半的编程和大量程序员的疲惫,在三个月内用Turbo Pascal编写了整个代码。我认为,说涡轮帕斯卡拯救了我们的培根是不公平的。另一位波兰发言人表示,他们将继续增强他们的Pascal产品,并停止进一步开发C/C++的努力。ETH研究所的Wirth教授是Pascal、Moda2和Oberon结构语言之父,他隐晦地说P.T.Barnum是对的。他没有进一步的评论。所有名称均为其各自公司的注册商标。这篇文章是在Usenet上找到的-其作者无法确定