【delphi开源代码栏目提醒】:网学会员鉴于大家对delphi开源代码十分关注,论文会员在此为大家搜集整理了“心目中的IT榜样 doc - 培训资料”一文,供大家参考学习
我心目中的编程高手完整版 -- Bill Joy MIT BBS上说微软电话面试的一道题就是“Who do you think is the best coder and why”。
我觉得挺有意思的也来凑个热闹。
排名不分先后。
心目中的编程高手 1 Bill Joy 前任Sun的首席科学家当年在Berkeley时主持开发了最早版本的BSD。
他还是Vi和csh的作者。
当然Csh Programming Considered Harmful 是另一个话题了。
据说他想看看自己能不能写个操作系统就在三天里写了个自己的Unix 也就是
BSD的前身。
当然是传说了但足见他的功力。
另一个传说是1980年初的时候DARPA让BBN在Berkley Unix里加上BBN开发的TCP/IP
代码。
但当时还是研究生的B伯伯怒了拒绝把BBN TCP/IP加入BSD因为他觉得BBN的
TCP/IP写得不好。
于是B伯伯出手了端的是一箭封喉很快就写出了高性能的伯克利版TCP/IP。
当时BBN和DARPA签了巨额合同开发TCP/IP Stack谁知他们的
代码还不如一个研究生的好。
于是他们开会。
只见当时B伯伯穿个T-shirt出现在会议室当时穿T-shirt不像现在还是相当散漫的哈。
只见BBN问你怎么写出来的而B伯伯答简单你读协议然后编程就行了。
最令我们晕倒的是B伯伯硕士
毕业后决定到工业界发展于是就到了当时只有一间办公室的Sun 然后他就把Sparc设计出来了... 象这种软硬通吃的牛人想不佩服都不行的说。
据Bill Joy的同事说一般开会的时候B伯伯总是拿一堆杂志漫不经心地读。
但往往在关键之处B伯伯发言直切要害提出漂亮的构想让同事们彻底崩溃。
对了他还是
Java Spec和JINI的主要作者之一。
心目中的编程高手 2 John CarmackID Software的founder和Lead Programmer。
上个月和一个搞图形的师兄聊天他竟然不知道John Carmack 也让我大大地晕了一把。
不过也许搞研究的和搞实战的多少有些隔阂吧。
想必喜欢第一人称
射击游戏的都知道J哥哥。
90年代初只要能在PC上搞个小动画都能让人惊叹一番的时候J哥哥就推出了石破天惊的Castle Wolfstein 然后再接再励doom doomII Quake...每次都把3-D技术推到极致。
J哥哥的简历上说自己的专长是Exhaust 3-D technology真是牛人之言不我欺的说。
做J哥哥这样的人是很幸福的因为各大
图形卡厂家一有了新产品就要向他“进贡”不然如果他的游戏不支持哪种卡哪种卡基本就会夭折乐。
当初MS的Direct3D也得听取他的意见修改了不少API。
当然J哥哥在结婚前十数年如一日地每天编程14小时以上也是我们凡人望尘莫及的。
对了J哥哥高中肆业可以说是自学成才。
不过呢谁要用这个例子来为自己学习不好辩护就大错特错了。
那Leonardo Da Vinci还是自学成才呢人是私生子不能上学。
普通人和天才还是有区别的。
对了其实偶们叫“达分奇”是相当不对的因为Vinci是地名而Da Vinci就是从Vinci来的人的意思。
换句话说Leonardo Da Vinci就是“从Vinci来的Leonardo”的意思。
叫别人“Da Vinci”就不知所谓了。
嗯扯远了打住。
心目中的编程高手 3 David CutlerVMS和Windows NT的首席设计师去微软前号称硅谷最牛的kernel开发员。
当初他和他的手下在微软一周内把一个具备基本功能的bootable kernel写出来然后说who cant write an OS in a week也是牛气冲天的说。
顺便说一句D爷爷到NT3.5时管理1500名开发员自己还兼做设计和编程不改coder本色啊。
D爷爷天生脾气火爆和人争论时喜欢双手猛击桌子以壮声势。
日常交谈Fuck不离口。
他面试秘书时必问what do you think of the word FUCK让无数美女刹羽而归。
终于有一天一个同样火爆的女面试者对这个问题脱口而出Thats my favorite
word。
于是她被录取乐为D爷爷工作到NT3.5发布。
心目中的编程高手 4 Donald E. Knuth。
高爷爷其实用不着我多说。
学编程的不知道他就好像学物理的不知道牛顿学数学的不知道欧拉学音乐的不知道莫扎特学
Delphi的不知到Anders Hejlsberg或者学Linux不知道Linus Torvalds一样不可原谅啊。
为了让文章完整就再罗唆几句吧。
高爷爷本科时就开始给行行色色的公司写各种稀奇古怪的编译器挣外快了。
他卖给别人时收一两千美元那些公司拿了code加工一下卖出去就是上万上十万。
不过也没见高爷爷不爽过学者本色的说。
想想那可是60年代初啊高爷爷写编译器写多了顺带就搞出了个Attribute Grammar和LRk大大地造福后人啊。
至于高爷爷在CalTech的编程比赛有Alan Kay的众多高高手参加总是第一写的Tex到86年就code freeze还附带2n美分奖励等等都是耳熟能详偶就不饶舌了。
顺便说一下高老大爷是无可争议的写作高手。
他给Concrete Mathematics写的前言可谓字字铿锵堪为前言的典范。
他的技术文章也是一绝文风细致解释精当而且没有学究气不失轻快跳脱。
记得几年前读Concrete Mathematics时不时开怀大笑让老妈极其郁闷觉得我nerdy到家不可救药。
其实呢子非鱼安知鱼之乐更不知那完全是高爷爷的功劳。
说到写作高手不能不提Stephen A. Cook。
他的文章当年就被我们的写作老师极力推荐号称典雅文风的样本。
库爷爷一头银发身材颀长总是面带谦和的微笑颇有仙风道骨正好和他的仙文相配的说。
高爷爷其实还是
开源运动的先驱。
虽然他没有象Richard Stallman那样八方奔走但他捐献了好多作品都可以在网上看到比如著名的Mathematical WritingMMIXWareThe Tex Book等更不用说足以让他流芳百世的Tex了。
心目中的编程高手 5 Ken ThompsonC语言前身B语言的作者Unix的发明人之一另一个是Dennis M. Riche老大被尊为DMRBelle一个厉害的国际象棋程序的作者之一操作系统Plan 9的主要作者另一个是大牛人Rob Pike 前不久被google挖走了。
Ken爷爷也算是计算机历史上开天辟地的人物了。
1969年还是计算机史前时代普通人都认为只有大型机才能运行通用的操作系统小型机只有高山仰止的份儿。
至于用高级语言来写操作系统更是笑谈。
Ken爷爷自然不是池中物于是他和DMR怒了在1969年到1970间用汇编在PDP-7上写出了UNIX的第一个版本。
他们并不知道一场轰轰烈烈的UNIX传奇由此拉开了序幕。
Ken爷爷在1971年又把Unix用C重写于是C在随后20年成就了不知多少豪杰的梦想和光荣。
Ken爷爷还有段佳话装了UNIX的PDP-11最早被安装在Bell Lab里供大家日常使用。
很快大家就发现Ken爷爷总能进入他们的帐户获得最高权限。
Bell Lab里的科学家都心比天高当然被搞得郁闷无比。
于是有高手怒了跳出来分析了UNIX
代码找到后门修改
代码然后重新编译了整个UNIX。
就在大家都以为“这个世界清净了”的时候他们发现Ken爷爷还是轻而易举地拿到他们的帐户权限百思不解后只好继续郁闷。
谁知道这一郁闷就郁闷了14年直到Ken爷爷道出个缘由。
原来
代码里的确有后门但后门不在Unix
代码里而在编译Unix
代码的C编译器里。
每次C编译器编译UNIX的
代码就自动生成后门
代码。
而整个Bell Lab的人都是用Ken爷爷的C编译器。
心目中的编程高手 6 Rob Pike ATT Bell Lab前Member of Technical Staff现在google研究操作系统。
罗伯伯是Unix的先驱是贝尔实验室最早和Ken Thompson以及Dennis M. Ritche开发Unix的猛人UTF-8的设计人。
他还在美国名嘴David Letterman的晚间节目上露了一小脸一脸憨厚地帮一胖子吹牛搞怪。
让我佩服不已的是罗伯伯还是1980年
奥运会射箭的银牌得主。
他也是个颇为厉害的业余天文学家设计的珈玛射线望远镜差点被NASA用在航天飞机上。
他还是两本经典The Unix Programming Environment 和 The Practice of Programming 的作者之一。
如果初学者想在编程方面精益求精实在该好好读读这两本书。
它们都有中文版的说。
罗伯伯还写出了Unix下第一个基于位图的窗口系统并且是著名的blit终端的作者。
当然了罗伯伯还是号称锐意革新的操作系统Plan9的主要作者。
可惜的是Plan9并没有引起多少人的注意。
罗伯伯一怒之下写出了振聋发聩的雄文 Systems Software Research is Irrelevant痛斥当下系统开发不思进取固步自封的弊病。
虽然这篇文章是罗伯伯含忿出手颇有偏激之词但确实道出了系统开发的无奈开发周期越来越长代价越来越大用户被统一到少数几个系统上结果越来越多的活动是测量和修补而真正的革新越来越少。
就在罗伯伯郁闷之极的时候google登门求贤来乐。
如果说现在还有一家大众公司在不遗余力地把系统开发推向极致的话也就是google了。
随便看看google的成果就知道了。
具有超强容错和负载平衡能力的分布式文件系统GFS现在能够用100000台廉价PC搭起一个巨型分布系统并且高效便宜地进行管理的
系统也不多哈大规模机器学习系统拼写检查广告匹配拼音搜寻......哪个都很牛更不用说处理海量并行计算的各式google服务了。
Rob在System Software Research is Irrelevant里萧瑟地说现在没有人再关心系统研究的前沿成果了。
想不到他错了因为google关心。
google
网络了大批功成名就的牛人还有大量初生牛犊般博士做开发显然不是没事耍酷而是因为它们的开发总是试图吸取系统研究的最新成果。
想必Rob Pike在google很幸福。
愿他做出更棒的系统。
心目中的编程高手 7 Dennis M. Ritchie 既然Ken Thompson是我的偶像新闻组上人称DMR的Dennis M. Ritchie自然也是毕竟两人共同缔造了UNIX而Dennis几乎独力把C搞大当然C的前身是B而B是Ken Thompson一手做出来的。
J D两人1983年分享图灵奖是有史以来少数几个因工程项目得奖的工程师本来是唯一的一对儿但Alan Kay才因为SmallTalk得奖所以就成了唯二的了。
一个人一生能做出一个卓越的系统已经不易DMR的C和UNIX长盛不衰近30年至今生机勃勃DMR此生可以无憾的说。
D爷爷也算有家学渊源他老爸在ATT贝尔实验室工作了一辈子并在电路
设计方面卓有成就还出了本颇有影响的书The Design of Switching Circuits据说在交换理论和逻辑设计方面有独到的论述。
当然D爷爷和他老爸是不同时代的人他老爸的研究成形于晶体管发明之前而D爷爷的工作离了晶体管就玩儿不转乐。
不要看D爷爷搞出了C其实他最爱的编程语言是Alef在Plan9上运行支持并行编程。
Alef的语法和C相似但数据类型和执行方式都和C大大不同。
说到语言D爷爷对后来人有非常中肯的建议抱着学习的目的来开发你自己的语言不要冀望于它被众人接受。
这个建议不光对语言开发有用也适用于其它大型系统的开发。
别的不说DMR后来领导自己的团队在1995年和1996分别推出了Plan9和Inferno操作系统又用多少人知道呢其实D爷爷当初也没想过C会风行世界。
他开发C的初衷和Eric S. Raymond在Cathedral and Bazaar里阐述的一样就是要消除自己对现有工具的不爽之处。
谁知D爷爷无心插柳C竟然受到众多程序员的狂热拥戴连D爷爷自己都大惑不解。
在一次采访中D爷爷说大概那是因为C的抽象程度碰巧既满足了程序员的要求又容易实现。
当然C一度是Unix上的通用语言也是原因。
但不管怎么说D爷爷对编程语言出色的审美意识奠定了C广为流传的基础。
最后八卦一下。
D爷爷的业余爱好和NBA大牛Karl Malone一样开卡车。
不过D爷爷更喜欢开NASCAR而KM独爱巨无霸。
J D爷爷自称心中不供偶像如果一定要说一个那就是Ken Thompson了。
现在Ken爷爷退休当飞机教练去了而D爷爷当了贝尔实验室系统开发部的头整日忙于开支票。
他俩合作20年屡屡创造历史。
这段令人神往的佳话也就长留你我心中乐。
P.S.很多人都以为Brian W. Kernighan是C的作者。
其实BWK只是写了那本经典KR C。
据D爷爷说他Ken和Kernighan三人中Kernighan最能写文章他次之而Ken写得最少但说到编程Ken爷爷才是当之无愧的老大。
心目中的编程高手 8 Edsger Wybe Dijkstra 对就是E.W. Dijkstra. 一提到EWD很多人就会想起找最短路径的Dijkstra Algorithm就好像一提到Sir. Tony Hoare就想起Quick Sort一样。
其实这些个算法不过是两个牛人在他们职业生涯中最琐碎的贡献。
比如Dijkstra算法无非是戴爷爷在1956年为了展示新计算机ARMAC的计算能力初试身手的成果属于他的算法处女作。
据戴爷爷自述他搞出最短路径算法的时候连纸笔都没用。
当时他和他老婆在阿姆斯特丹一家咖啡厅的阳台上晒太阳喝咖啡突然就把这个算法想出来乐。
而且当时的算法研究还比较原始牛人们忙着用
计算机搞数值计算对离散算法不屑一顾。
那时连一个象样的专注于离散算法的专业期刊都没有。
戴爷爷于是推迟发表这个算法。
直到1959年他才把这个算法发表在Numerische Mathematik的创刊号上权为捧场。
EWD在多个领域牛气冲天并且是理论和编程两手硬的高手。
只不过他的很多
工作比较深刻学校的老先生们觉得本科生接受不了不给本科生讲而已。
戴爷爷大概因为最短路径算法一战成名于是有人请他参加另一台计算机X1的设计工作并且把设计实时中断系统的任务派给了他。
现在看来实时中断也许不算什么但要知到X1前根本就没有实时中断的概念。
实现它简直就是一场豪赌。
戴爷爷起初还不情愿但经不住项目负责人Bram和Carel的轮番“吹捧”我们知道实时中断让您工作变得非常困难但象您这样的牛人肯定能做出来的说。
结果戴爷爷被糖衣炮弹彻底击穿接下了这个烫手山芋。
两三年后他不仅搞出了实时中断还围绕这个写出了自己的博士
论文顺利戴上博士帽。
让戴爷爷真正成名立万的还是在X1上开发的Algo60最早的高级语言之一。
戴爷爷没日没夜地工作了8个月就搞出了Algo60也因此获得了1972年的图灵奖。
因为Algo60戴爷爷发表了一篇石破天惊的文章Recursive Programming于是人们才知道原来高级语言也可以高效地实现递归原来从此以后所有
程序员都不可避免地和戴爷爷发明的一个词应该说是概念打交道堆栈。
而且Algo60还让戴爷爷深入地思考多道程序设计的
问题最终发明了每个系统程序员都绕不开的概念semaphore。
当然戴爷爷总是把他发明的概念严格形式化极具科学家本色的说。
和这些成就想比他提出的哲学家问题也就没什么好说的了。
说来好笑当时的大学忘了哪所了还是觉得戴爷爷没有受过正统的数学训练也不是专门搞数值分析的所以最后不太情愿地给了他一个教职。
这种小挫折并不能妨碍象戴爷爷这样的牛人创造历史。
他一边教数值分析一边开始开发一个新的操作系统并培养计算机科学家。
几年后THE Multiprogramming System横空出世。
THE是第一个支持松散耦合显式同步的进程并由此使得严格证明系统没有死锁变得容易的操作系统。
可惜戴爷爷任职的系不识货还强行解散了他的研究小组1972年戴爷爷给他的系主任说他得了图灵奖系主任的第一反应是你们搞计算机就喜欢乱发奖。
这让戴爷爷相当郁闷得了抑郁症。
在极度郁闷之中戴爷爷决定用写作来治疗自己的抑郁症。
于是经典就诞生了Notes on Structured Programming。
戴爷爷从此被尊为结构化编程的奠基人而且他的抑郁症也被治好乐。
EWD太牛结果他的故事也太多。
先到这里吧。
1973起他的故事就在美国发生了。
心目中的编程高手 9 Anders Hejlsberg微软.NET的首席架构师编程语言的顶尖高手。
他一手做出了Turbo Pascal也是
Delphi J尤其是WFCC和.
NET的主要作者。
这些作品的名字足以为他立传。
作为一个程序员我在这样的大师面前实在无语。
生子当如Anders的说。
李维的《Borland传奇》里已详细讲述了Anders的传奇故事我就不用费舌了。
Artima上有Anders谈C的系列访谈。
MSDN上有一段Anders导游的录像。
有兴趣可以去看看牛人的丰采。