程序员的励志故事

读大学时,总爱在图书馆里面看《CSDN杂志》,里面有个栏目:Hall of fame,名人堂,里面有各式各样的业界大神的访问和介绍。

我印象比较深刻的是,微软的操作系统大神David Culter,刚才在网上找到了十几年前读到的那篇文章:

人物传奇:操作系统“天神”David Cutler

David Cutler,VMS和Windows NT的首席设计师,1988年去微软前号称硅谷最牛的内核开发人员,在操作系统领域摸爬滚打几十年,其间的经历就像一部标准的外省青年奋斗记。

与许多计算机界的前辈牛人们一样,David Cutler并不是计算机科班出生,他在大学拿的是数学学士,主攻物理,满怀热情地想成为一位建造事物的工程师。所以,毕业后他进入杜邦公司从事材料测试。一次偶然的机会,David被指派负责在DEC的计算机上运行模拟程序,还为多台单机实时系统编写中央控制程序,调度各种任务、监控系统运作。这个经历不仅丰富了David的软件知识,还让他做出了一个重大的决定:去一家真正从事计算机业务的公司,开发操作系统。

1971年,David Cutler离开杜邦公司来到DEC。他的第一项任务就是为DEC的PDP-11微处理器开发操作系统——RSX-11M。PDP-11是为工业控制和制造控制而设计的16位微处理器。David结合总体概念和设计原则,利用汇编语言在非常有限的内存空间内实现了多项系统功能,如:树型文件系统、交换应用程序、实时调度和一整套开发工具等。据David回忆,当时连他的橡皮图章上都刻着开发这个操作系统的目标——“容量就是一切!”后来,这些概念和原则也体现在了NT上。

70年代后期,DEC公司在PDP-11的基础上开发出32位的VAX处理器。与之相应,也要开发基于VAX的操作系统VMS,要能兼容 RSX-11M,可以在不同大小的机器上运行。David Cutler成为这个项目的负责人,设计VMS的架构。1977年,VMS 1.0问世。David唯一的遗憾是,为了迎合商业进度,VMS也是用汇编语言写的,尽管当时完全可以用高级语言。所以,技术上正确的事并不见得是商业上的最佳选择。随后,David继续研制 VMS 的后续版本,不过他有些不耐烦了。1981年,David威胁要离开DEC。为了挽留它的明星开发者,DEC给了David大约 200 位软硬件工程师。David把他的小组搬到西雅图,并建立了一个开发中心。这个精英小组的目标是设计一个新的CPU 体系结构和操作系统,可以把DEC带到九十年代。DEC把这个小组的硬件项目称为Prism,操作系统为Mica。

很不幸,Prism项目于1988年被DEC撤销,很多项目成员也被解雇。因此David Cutler萌生了去意。此时,为了未来能够与Unix抗争、开发新的操作系统,Bill Gates见缝插针,竭力劝说David加入微软。David去了,还带去了许多与他一同开发VMS和Mica的程序员。进入微软,David领导一个工程小组,负责设计一种能提供文件服务、打印服务和应用服务的对称多处理。操作系统,起名为Windows New Technology(NT)。这就是Bill Gates想用来对抗Unix的新型武器。

经过近4年的开发工作,在1993年6月发布的第一版Windows NT 3.1,已经具备了现代操作系统的雏形——抢先式多任务、虚拟内存、对称多处理器、图形界面、C2安全级、坚固而稳定的内核、内置网络支持、完全的32位代码等。而1994年推出的Windows NT 3.51和1996年推出的Windows NT 4.0,在性能上有了更进一步提高;NT4.0甚至提供了当时最先进的Windows 95风格界面。David Cutler在自己的天梯上继续攀升,Bill Gates也在销售数字面前笑得合不拢嘴。

毫无疑问,NT操作系统有一个优秀的内核,David Cutler成功地引入了硬件抽象层、内核对象这些天才的思想。虽然我们没能得见它的源代码,但在钻研NT DDK的过程中、在埋头可能就是由David亲笔撰写的文档中时,总能有那些闪光点,让我们可以在不同的时空与大师对话。

如今,Built On NT Technology的Windows 2000和XP的成绩有目共睹,而针对64位处理器的XP也即将推出。回顾开发操作系统的历程,David情不自禁地感叹道:“我也不知道,自己竟是那么的幸运,能够在有生之年开发好几个操作系统,而对于任何一个人来说,哪怕只开发一个都是非常难得的机会。”

是的,David Cutler做到了,在操作系统领域中纵横了几十年,缔造了许多传奇和神话。然而,又有谁会去看他几十年的专注、寂寞、付出与艰辛呢?可能每个人在开始自己的职业生涯时都会设定一个目标。然而只有那么一些人会抓住目标紧紧不放、全心投入,最后这些人成了我们眼中的成功者、技术天才。也许,这就是成就天才与普通人的不同之处。

读大学时对上面这段加黑粗体的文字一直记在心中。每个人都仰慕成功者,羡慕他们取得的各种成就,可是,天下没有轻轻松松的成功,所有的成功都是勤奋和坚持的结果。没有例外。

另有一个,数据库的大神,一直专注在银行数据库领域,是银行系统数据安全方面的高手,自己买小型机测试各种灾难情形,真是望之弥高。

程序员,或者俗称码农,做的时间久了,就会有懈怠感。有些人会觉得自己已经可以处理日常的工作,那些if/else,剪刀手到处copy/paste的骚操作,满足得了大部分情况下的工作需求。可是,金字塔顶端的人,在上层的那种人,取得大成就的那些人,真的是有挑起大梁,一个人handle复杂系统,在关键点能够让人信赖的人,真的需要持续不断地提升和精进。

佛法中的六重境界,“布施 持戒 忍辱 禅定 精进 般若”,程序员的技能精进也是逐步的一个过程。

打赏

沪公网安备 31011302002866号