UNIX传奇:历史与回忆
上QQ阅读APP看书,第一时间看更新

计算机世界的原力觉醒

20世纪的六七十年代可以说是人类现代史上非常特殊的年代,整个西方世界散发着一种迷人的味道,掀起摇滚乐、嬉皮士、爱与和平等文化新浪潮,像披头士、皇后乐队、齐柏林飞艇等经典摇滚乐队在那时诞生……那些脍炙人口的作品到今天还在传唱。那个年代的科技也突飞猛进,NASA送人上月球,还进行全世界电视直播,离开仙童公司的工程师们创建了AMD和Intel,从此揭开了芯片的硅谷时代。AT&T创办的贝尔实验室带来的成果举世瞩目,贝尔实验室除了不断地获得诺贝尔奖和图灵奖,还不断地发明改变人类所需的新技术。什么晶体管、太阳能电池、激光器、手机、通信卫星……这段时间发生的事,对于我来说,就跟追科幻或是超级英雄的美剧一样,一季接一季,里面的超级英雄,一个接一个,让人无法不惊叹称奇。

贝尔实验室对计算机发展的贡献着实让人佩服,在他们退出Multics项目后,肯•汤普森在一台被弃置的只有24KB内存和512KB磁盘的计算机上用3周开发了一个Unix的原型。24KB内存!512KB的磁盘!这算计算机吗?!还要编写个操作系统出来?而且3周就写出来了,可以编辑和编译程序,有shell和API……一般来说,如果一部电影是这样的开场,那么这必然是一部超级精彩的电影。随后,丹尼斯•里奇把肯的B语言加上类型造就了C语言;道格•麦基尔罗伊神来一笔,提出了管道的想法,肯实现完后自己玩了一下,叹道“好震撼”;管道下的grep、sed、awk加上正则表达式,让文本处理变得无所不能;史蒂夫•伯恩编写的shell让Unix命令可以进行编程,让Unix变成无所不能; Yacc、Lex、Make等工具让你可以轻松地创建一门语言,从而导致了编程语言快速演进(如Fortran 77和C++);随着AT&T把Unix的代码授权给各大高校,加州大学伯克利分校有个叫比尔•乔伊的人为Unix添加了vi文本编辑器和C语言的shell、csh,再加上改变世界的TCP/IP协议的socket接口……这帮“超级英雄”编写的书(如“龙书”《编译原理》《C程序设计语言》《编程珠玑》)到今天都是经典中的经典。当时的贝尔实验室简直就是科研人员的聚集地。招聘团队就像今天的“球探”一样到处招“牛人”,只要你有足够的能力,他们就会主动找到你家里,或出现在你旅游途中。他们就像神盾局一样,一定会邀请你加入“复仇者联盟”—— 贝尔实验室。在那里你要找你自己的研究方向和课题,然后专心科研,所做项目还能注册专利,说不定还能获得图灵奖。

然而,这还不是最酷的,这只是这部“超级英雄”电影的第一季。在Unix广为流传之后,本来致力于改变世界的AT&T被美国政府拆分,变成真正的“死星”。他们开始商业化Unix,向整个世界发难,向伯克利的Unix衍生版BSD提起诉讼,并把对Unix热情高涨的“银河联盟”冲得七零八落。经过两次拆分,贝尔实验室风光不再,那些“绝地武士”们也不得不隐忍起来,直到一个叫理查德•马修•斯托尔曼的开源狂人,与一个21岁的芬兰大二学生,在两个不同方向上开始发起集结,向“银河帝国”发起挑战。林纳斯•托瓦兹把那些隐于深林的“绝地武士”再次召集起来,让Unix以Linux方式得以重生,开始了真正的“帝国反击战”……

今天,我们回头看肯•汤普森、丹尼斯•里奇、道格•麦基尔罗伊、阿尔•阿霍、彼得•温伯格、布莱恩•W.克尼汉、比尔•乔伊……这些人就像世界的开创者一样,早在三四十年前就为未来计算机世界编制了迷人的DNA,这个DNA就是Unix和C语言。今天,整个计算机世界全都有Unix和C语言的印记。不仅如此,Unix的“设计哲学”以及Unix所带来的为自由而开源的“黑客文化”也成为最纯正的计算机文化,推动着整个人类计算机文明的向前发展。只有了解这些璀璨的历史和文化,我们才知道计算机世界中真正的格局和品味是什么,也才知道真正的原力是什么。

愿原力与你同在!

陈皓(左耳朵耗子)

2020年12月