世上最杰出程序员,B 语言、Unix 之父嫌计算机发展太慢,让孩子学生物?

出品 | 程序人生(ID:)
Unix之父——肯?汤普森(Ken )被称作“世界上最杰出的程序员”,他自学编程,26岁创造Unix,改写了计算机操作系统的历史,并在古稀之年成为Go语言的共同开发者之一 。
笔者通过本文带你了解这位Unix之父的传奇一生 。
喜欢逻辑学,自学编程
1943年,汤普森出生在美国新奥尔良 。上小学时,有一堂课讲二进制,喜欢逻辑的他立即被迷住了,他做了很多二进制运算,还借助一台十进制计算器扩展到各种进制 。进入中学阶段,汤普森又迷上了电子器件,他曾自己制作无线电、示波器和放大器 。
1960年,汤普森考入加州大学柏克莱分校,攻读电气工程专业 。大二时,他接触到模拟计算机 。他在上面做了很多相关的二进制计算,但他嫌解释程序太慢,不能直接用汇编编程 。在暑假里,他想方设法弄到了解释程序的源代码清单,在不懂程序语言的情况下,仔细研读,终于学会了编程,并在学校找到编程的工作 。
1965年本科毕业,汤普森留校 。有个教授为他申请了硕士,师从著名的信息论和博弈论专家埃尔温?伯利坎普(Elwyn ) 。伯利坎普问他为什么学编程时,汤普森说:“因为我从小喜欢逻辑学 。”
据汤普森回忆,他读硕期间,大部分都是靠自学 。从入学到硕士毕业,汤普森仅仅用了一年的时间 。
为了玩游戏,动手设计操作系统
1966年,汤普森加入贝尔实验室 。1968年,汤普森参与了贝尔实验室与麻省理工学院、通用电气公司联合开发的一个多用户分时操作系统,取名为(多路信息计算系统) 。
一年后,贝尔实验室认为系统周期长、成本高、前景不佳,便决定撤出 。汤普森非常失落,他自己写的一款叫做“star ”的游戏就是完全基于的,退出项目意味着他将没有机器可以玩这个游戏了 。
于是汤普森决定自己设计一个操作系统来玩游戏,他本来打算向实验室申请在DEC-10上写,然而没有申请到,只能找到了一台废弃已久的老式PDP-7小型机,虽然称为小型机,也有一个房间大 。汤普森先在这台机器上重写了游戏,接着他用一周时间设计出操作系统的内核,再用一周时间创造出文件系统,一周时间写编辑器,一周时间写编译程序,最终在一个月内编写完了整个操作系统 。汤普森将其命名为UNICS (and) 。后面陆续做了一些改动和优化,便有了第一版UNIX操作系统 。
这一年,汤普森年仅26岁 。
共获图灵奖
Unix的诞生在贝尔实验室并没有惊起多大的波澜,只有一位叫做丹尼斯?里奇( M. )的同事对它表现出了不小的兴趣,主动请求加入进来共同完善这个系统 。
1972年,汤普森与里奇共同将Unix移植到了当时最先进的大型机PDP-2上 。由于Unix的简洁、稳定与高效,大家纷纷放弃了PDP-2上自带的DEC操作系统,完全改用Unix 。

世上最杰出程序员,B 语言、Unix 之父嫌计算机发展太慢,让孩子学生物?

文章插图
尽管此时的Unix在两人的努力下趋于完善,但外界不为所知 。
1973年10月,在IBM举办的操作系统原理专题研讨会上,汤普森与里奇宣读了相关的论文并展示了Unix,整个会场为之轰动,大家都立即涌上来索取这种新型的操作系统的程序 。
随后,业界对Unix的需求日益增加,两人决定将Unix进一步改写,以便可以将它移植到各种不同的硬件系统 。最终,他们将Unix与C语言完美地结合在一起,产生了新的可移植的Unix系统 。正式推出后,改写了计算机的历史 。
鉴于Unix的诸多优点,人们将它称为是软件界的“瑞士军刀” 。一位贝尔高级主管形容Unix是继晶体管以后的第二个最重要发明 。两位发明者谦虚地说:“就其受公众瞩目的程度而言,Unix确实是一项重要的开发” 。