1本科毕业,直接读博1960年,22岁的小高毕业了,获得数学学士学位。
但是他的本科学业如此出色,俄亥俄州凯斯理工学院教师们投票一致同意,同时授予他硕士学位!
于是,本科生小高直接去加州理工去读博士了!
人家小高完全不偏科,不但数学好,还妙笔生花,写得一手好文章,你说气人不气人。
他中学时就担任学校校报的编辑,大学更进一步,主编了《工程与科学评论》,获得了1959年国家最佳技术杂志奖。
小高不但作文好,计算机也玩得很溜,在那个很多人不知道计算机为何物的60年代,小高就为学校篮球队编写了一个程序,用于统计每个人在比赛中的投篮、篮板、防守、抢断、犯规等情况,然后给每个人都计算出得分,依次为依据挑选球员,派球员上场。
依靠这套程序,小高带领球队获得了全美大学生联赛的冠军,这可能是最早的大数据的应用案例吧。
这个篮球程序要在IBM650计算机上运行, IBM一看乐了,这可是宣传自家机器的好机会啊,立刻跑来拍了一个纪录片《电子教练》
02副业赚外快
1961年,博士一年级的小高一边读书,一边揽活赚外快。
不过他的副业可不是什么图书管理系统,学生信息系统这种烂大街的东西。
要玩就玩大的,他整了个Algol语言编译器,一下子赚了5000美元!
第二年暑假,他又写了一个编译器,这次赚了15000美元,比加州理工学院的助理教授工资都高。
这就太可怕了,60年代,会编程的都没几个,更别说编译器了。
有家创业公司找到他,想拉他入伙,给他开了10万美元的薪水(60年代的10万至少相当于现在的百万美元了吧?),但是被小高拒绝了。
因为小高真正的发现了自己的乐趣所在:在计算机算法中发现数学原理。
他不在乎收入,他将为自己的乐趣奋斗一生。
03专注力
数学大神,计算机大神,写作高手,看起来已经非常完美了,但是和小高的一个品质比起来,这些技能都要退居次席。
这项极其宝贵的品质就是:专注力!
有了专注力,求伯君才能在深圳一间酒店中,夜以继日用汇编写出第一版WPS。
有了专注力,Bill Gates 才能24小时坐在电脑前,不眠不休,为牵牛星计算机编写Basic解释器。
有了专注力,Linus才能穿着睡衣,拉上窗帘,在自己的小黑屋中疯狂地编写Linux代码。
......
而小高早在小学时期就展示了这项非凡的能力。
当时,一家糖果公司举办了一场比赛,要求从Ziegler’s Giant Bar这个糖果名的字母中自由组合,看看能组成多少单词。
小高天生就对这种“离散”的数据感兴趣,他一看就来了劲儿,谎称生病,两周都没去学校,拿着一本破字典,不分昼夜,孜孜不倦地在其中寻找。
糖果公司预计冠军能找到2000左右的单词, 没想到小高的结果让他们大跌眼镜:居然找到了4700多个!
04写一本编译器的书吧
万事俱备,只欠东风,小高的伟大事业即将启程。
他将去开创一个学科,去改变计算机的历史!
Addison-Wesley以出版计算机领域的教科书出名,得知小高擅长写编译器以后,出版社的编辑坐不住了 :“高先生,你写编译器这么厉害,能不能写一本书,讲讲怎么实现编译器。”
“这主意不错,我喜欢写作,你们Addison-Wesley是著名出版社,现在编译器的书又很匮乏,我们合作吧。”
小高迅速列了一个12章的提纲,摩拳擦掌,准备开始。
但是他很快发现,如果不先发展一套计算机编程的基本理论:算法分析,写编译器的书会磕磕碰碰的。
于是,他又找到了编辑:“那个,我觉得应该先写一本新书,把算法好好讲讲,叫《算法分析》,你觉得怎么样?”
“这书名,恐怕没销量吧?”
“那就叫《计算机程序设计艺术》!”
《计算机程序设计艺术》,现在大家知道小高是谁了,大名鼎鼎的高德纳啊。
前面为了留一点悬念,称高爷爷为小高,实在是罪过。
高德纳本来只想写一本,写着写着发现,一本根本不够,需要7卷才能包含所有的主题!
Addison-Wesley 也是豁了出去,那就出吧!
卷1:基本算法卷2:随机数和算法卷3:排序和搜索卷4:组合算法卷5:词法扫描和解析卷6:上下文无关语言卷7:编译器技术
可以看出从第5卷开始,才算进入真正的编译器相关的知识
这么庞大的工程,真是要命啊。
如果是普通人,估计也就算了,但是高德纳再次发挥了用糖果名拼写单词的优秀品质,准备用一生时间和它死磕到底。
05用汇编写算法
既然要写编译器相关的书,那必然要涉及到机器,可是计算机发展一日千里,高德纳也无法控制,这怎么办?
答案是自己“造”一个假想的虚拟机器 : MIX。
高德纳为MIX设计了汇编指令,为它还写了一个模拟器,这样就可以在上面执行程序了。
《计算机程序设计艺术》中的实例程序都用MIX的汇编来实现,这对于高德纳这样的大神来说非常简单。
对普通人来说,尤其是看惯了Python, Java,C等高级语言的同学来说,算法用汇编来写,这不要了命吗?
MIX汇编就像一个怪兽,守护在《计算机程序设计艺术》的大门前:“想进入大门,必须经过我这一关!”
这可能就是很多人买了书但从来不读的重要原因!
06计算机程序设计艺术
1968年,30岁的高德纳出版了《计算机程序设计艺术》第一卷,立刻成为经典,引起了学术界和工业界的注意,产生了巨大的影响。
完美主义者高德纳说:“ 找出一个错误,我给你2.56美元,现在书刚出版,找Bug还比较容易,也许你能快速收回买书的成本。”
真的有人找到了错误,并且收到了高德纳的支票,不过,没人舍得去兑换,通常都是装裱起来,留作纪念。
1995年,Bill Gate在采访中建议,任何认为自己是优秀程序员的人都应该读一下第一卷。
他说: “我当时花了好几个月读这本书,真是需要很强的自律才行,如果你读完了,请给我邮寄一份简历。”
1968年,30岁的高德纳成为斯坦福大学的终身教授,接下来,将会他是最富有成效的5年。
1969年,《计算机程序设计艺术》第二卷出版, 1973年第三卷出版。
1974年美国计算机学会就“迫不及待”的把计算机界的最高奖——图灵奖——授予高德纳,表彰他对算法分析和编程语言设计的重大贡献。
这一年高德纳仅仅36岁 !只靠一套还没有完成的书就获得ACM图灵奖,不但是前无古人,估计也后无来者了。
为什么这本书这么牛呢?
因为高德纳首次把算法复杂度做了量化衡量,提出了决定算法快慢的决定性因素,奠定了计算机算法的基础,成为全世界计算机领域内的标准。
这套书售价高达几百美元,但是却在全世界卖了超过百万套。
它是计算机编程界当之无愧的圣经。
1999年,《美国科学家》杂志曾将《计算机程序设计艺术》与爱因斯坦的《相对论》、狄拉克的《量子力学》,维纳的《控制论》等书并列为20世纪最重要的12本科学类专著,可见此书的历史地位。
07TEX排版系统
然而令人大跌眼镜的是,拿到图灵奖以后,高德纳居然宣布暂停写作,因为他对于新书的排版非常不满:文字、符号和排列方式实在是难看, 破坏了书的美感!
完美主义者高德纳决定暂停写作,切换身份,成为一名程序员,开发一个强大的计算机排版系统。
没想到这一停就是将近九年。
最终的成果是开源排版软件TEX(可能是最早的开源项目了)和 一种字体MetaFont。
TEX和MetaFont改变了出版业, 在全世界有100多万的拥趸。许多人认为TEX计算机排版系统上的工作是自古腾堡以来对排版的最大贡献。
TEX的版本号也很有意思,不是数字(3.0, 3.1, 3.2....) ,也不是年份(Windows 95, 98, 2000...)。 而是不断逼近的圆周率 (3.1415926...) ,这从侧面反映了软件几近完美,不需要做改进了。
高德纳说:“最后一次升级是(于我过世后)将版本数改为 π,那时任何余下的漏洞将被看作程序的功能!
高德纳想刻意发明排版软件吗?
不!他只想让自己的书看起来更加漂亮,但是他偶然为之的工作却能抵得上普通人为之奋斗一辈子,这就是真正的大神吧!
08硅谷最牛程序员
在IT圈流传着这么一个笑话:
有一天,Richard M. Stallman, Linus Torvalds, 和高德纳 三人坐在一起聊谁对计算机世界的影响最大。
Stallman :上帝说是我开发了世界上最好的编辑器Emacs!
Linus : 嗯,上帝说是我开发了世界上最好的操作系统!
Advertisements
硅谷最牛程序员,总是不经意间碾压众人
喜欢gonewithsmoke朋友的这个帖子的话,👍 请点这里投票,"赞" 助支持!
帖子内容是网友自行贴上分享,如果您认为其中内容违规或者侵犯了您的权益,请与我们联系,我们核实后会第一时间删除。
打开微信,扫一扫[Scan QR Code]
进入内容页点击屏幕右上分享按钮
楼主本月热帖推荐:
>>>查看更多帖主社区动态...