现年75岁的肯·汤普森,无论是在编程界这个圈子里,还是在计算机这个大行业内,都称得上是“祖师爷”级别的人物。作为美国计算机科学的领军人物,肯·汤普森经常不走寻常路,出奇制胜。
汤普森1943年出生在美国新奥尔良。1960年开始就读于加州大学柏克莱分校,主修电气工程,仅仅过了一年,汤普森就拿到了他的电子工程硕士学位。当时他的导师是美国著名的数学家、计算机科学家埃尔温·伯利坎普。当被问到为什么学编程时,汤普森说:“因为我从小喜欢逻辑学。”
汤普森是C语言和UNIX(尤尼斯)操作系统的开发者,也因此被誉为“C语言之父”和“UNIX之父”。不过,很多人不知道的是,这两大发明的诞生却与一款汤普森迷恋的游戏有关。
离开校园之后,汤普森加入了名满天下的美国贝尔实验室。该实验室是晶体管、激光器、太阳能电池、通信卫星、电子数字计算机等许多重大发明的诞生地,堪称“发明家的摇篮”。1968年,汤普森参与了贝尔实验室与麻省理工学院、通用电气公司联合开发的Multics(多路信息计算)系统项目。可是,贝尔实验室认为Multics系统周期长、成本高、前景不佳,不久便撤出了。这对于汤普森而言实在是个糟糕的消息,因为他自己编写的“Space Travel”(空间旅行)游戏就是基于这个系统的。无奈之下,汤普森找到一台老式PDP-7电脑(由迪吉多公司所研发的一款迷你电脑),重写了他的游戏。在这个游戏移植的过程中,汤普森写出了UNIX系统。在完成UNIX系统开发的基本工作之后,汤普逊觉得UNIX系统需要一个系统级的编程语言,于是创造了B语言。后来另一位顶级程序员丹尼斯·里奇在B语言的基础上创造了C语言。UNIX与C语言相结合,便产生了新的可移植的UNIX系统,并逐渐流行开来。
UNIX系统在贝尔实验室是供大家免费使用的。有人发现,汤普森总能进入每个人的账户,于是一位同事便分析UNIX代码,重新编译了系统。令人意想不到的是,汤普森仍然能进入他们的账户,贝尔实验室的科学家们却对此束手无策。直到1983年,汤普森才在他的图灵奖获奖感言里揭示了这一秘密,原来,让他轻松“侵入”各位同事账户的秘诀不在UNIX代码,而在编译UNIX代码的C编译器里,而汤普森正是编译器的开发者。