UNIX之父肯和丹尼斯(连载二)
从那一场“黑客招聘会”说起
2012年7月末在拉斯维加斯召开的全球黑客大会,已经是这系列会议的第二十一次。除了惯常的Bug发表、技术展示之外,最近几年的黑客大会也开始变得越来越像招聘会。IT业巨头们每年都会从黑客大会上招募些安全专家,维护自己企业的利益。苹果公司在这次全球黑客大会上招募了Comex——世界上最受欢迎的iPhone一键式越狱JaibreakMe的作者。此人显然已经被苹果关注了许久,苹果甚至曾经为他一个人发布过iOS操作系统更新。对于致力于建立硬件、软件、社区、开发者、消费者一体化生态体系的苹果来说,Comex这类黑客的存在是个威胁,与其放在外面“野生”,还不如设法“家养”。
Unix之父,肯和丹尼斯
老派黑客更像模范员工
也许是宣传导向的缘故,今天人们关注的大多数黑客都是“野生”的,更关注于他们带来的破坏,而非他们在技术上带来的突破。如果时间倒回去50年,则是一幅完全不一样的场景。那时的黑客们,更像是为了兴趣而自愿留下来加班的模范员工,他们也完全不会在自己家里工作。
当然,那时候的计算机远非个人能够负担得起。对计算机技术有兴趣的话,不得不投入某个学术机构或者巨型企业才行。比如说GE、或者贝尔实验室。
被黑客们亲昵地叫做“肯”的肯尼斯·雷恩·汤普逊,就是这些老派黑客中的一个。他出生于1943年的前婴儿潮时期,22岁大学毕业,一年后拿到了硕士学位——两个学位都是来自加州大学伯克利分校的电气工程与计算科学专业。随后他就进入了贝尔实验室,开始参与Multics的开发。
不过他也不是什么时候都在工作。利用使用这些大型计算机的机会,他写了个叫做“星际旅行”的游戏,和同事丹尼斯·里奇在办公室里玩得不亦乐乎。所以当贝尔实验室在1969年退出Multics项目的时候,他和丹尼斯都有点失落。
不过很快,他们找到了一台闲置的PDP-7机器。这台机器算是当时的低端机,只卖七万两千美元,所以贝尔实验室也不太重视它。幸好如此。肯重写了星际旅行程序,为了让这个游戏能够在PDP-7上运行,他基于Multics开发了新的操作系统,而为了这种操作系统,甚至还开发了一种新的编程语言“B语言”。
没得到应有尊重的Unix之父
为了游戏而写的操作系统当然不算精良,肯和丹尼斯自己也知道这一点——这个操作系统只能支持两名用户。出于某种带有怪异幽默感的自嘲,他们把自己的操作系统叫做“Unitics”——单路信息计算系统,和名为“多路信息计算机系统”的Multics呼应。处于发音原因,Unitics慢慢变成了大家都认可的Unix。
但是黑客的特质让他们并没有止步在这里。玩够了游戏之后,他们的兴趣开始转移到操作系统本身上来。为了提升操作系统的性能,他们重新设计了编程语言,发明了至今为止依然是最受欢迎编程语言的C语言,并且用C语言重写了Unix。那是上世纪70年代初的事。
对未知的探索永无止境。很快,Unix在肯和丹尼斯的带领下,就成了一个真正的操作系统。他们把它迁移到PDP-11/20上,添加了文字处理程序和文本编辑器(肯开发的ed文本编辑器至今为止依然在Unix上),甚至还有电子文档发布程序。
在之后的二十多年中,Unix成为最重要的计算机操作系统,支持着那些庞大机器的运行。在互联网的雏形初现后,它开始转型为服务器操作系统,其地位一度无法撼动。当年微软公司曾试图以Windows NT攻入服务器操作系统市场,获得如同Windows 95、Windows98在个人计算机操作系统上的辉煌。NT的确辉煌了一阵,直到被某个名不见经传的大学生开发出的Linux阻击为止。
肯和丹尼斯几乎一手改变了计算机行业的发展方向。因为这些贡献,他们获得了计算机领域的最高奖图灵奖,以及美国国会设立、总统颁发的国家技术奖章。
2000年,肯从贝尔实验室退休,离开这个他工作了大半辈子的地方。他成了一名飞行员,后来加入了Google。而身体状况不大好的丹尼斯,在2011年10月12日被发现于自己独居的家中逝世,享年70岁。
在那之前一周,苹果公司的史蒂夫·乔布斯刚刚去世。与乔布斯去世后引发的媒体狂潮不同,丹尼斯的死讯只如在池塘里扔进一粒小石子。虽然世界上无数人都在享用他的智力结晶——Unix和C语言以及它们的衍生品几乎构成了我们这个信息时代的基本骨架——但是他默默离去的消息,远没有获得应有的关注。
下期预告:上世纪70年代,年轻人的天下。有个家伙发现薯片里附送的哨子能用来免费打长途电话,于是他就坐了几年牢。等他被放出来之后,苹果公司招募了他。