??xml version="1.0" encoding="utf-8" standalone="yes"?>
传奇~程高手Q?br />
Bill Joy
John Carmack
David Cutler
Donald E. Knuth
Ken Thompson
Rob Pike
Dennis M. Ritchie
Edsger Wybe Dijkstra
Anders Hejlsberg
Bill Joy
Bill Joy, 前QSun的首席科学家Q当q在Berkeley时主持开发了最早版本的BSD。他q是vi和csh的作者。当ӞCsh Programming Considered Harmful 是另一个话题乐。据说他想看看自p不能写个操作pȝQ就在三天里写了个自qUnix, 也就是BSD的前w。当然是传说了,但见他的功力。另一个传说是Q?980q初的时候,DARPA让BBN在Berkley Unix里加上BBN开发的TCP/IP代码。但当时q是研究生的B伯伯怒了Q拒l把BBNTCP/IP加入BSDQ因Z觉得BBN的TCP/IP写得不好。于是B伯伯出手了,端的是一封喉,很快写Z高性能的伯克利版TCP/IP。当时BBN和DARPA{了巨额合同开发TCP/IPStackQ谁知他们的代码q不如一个研I生的好。于是他们开会。只见当时B伯伯I个T-shirt出现在会议室(当时IT-shirt不象现在Q还是相当散漫的?。只见BBN问:你怎么写出来的Q而B伯伯{:单,你读协议Q然后编E就行了。最令偶晕倒的是,B伯伯士毕业后决定到工业界发展,于是到了当时只有一间办公室的Sun, 然后他就把Sparc设计出来乐。。。象q种软硬通吃的牛人,想不佩服都不行的说。据Bill Joy的同事说Q一般开会的时候B伯伯L拿一堆杂志O不经心地诅R但往往在关键之处,B伯伯发言Q直切要宻I提出漂亮的构惻I让同事们d崩溃。对了,他还是Java Spec和JINI的主要作者之一?
John Carmack
John CarmackQid Software的founder和Lead Programmer。上个月和一个搞囑Ş的师兄聊天,他竟然不知道John Carmack, 也让偶大大地晕了一把。不q也许搞研究的和搞实战的多少有些隔吧。想必喜Ƣ第一人称击游戏的都知道J哥哥?0q代初只要能在PC上搞个小动画都能让h惊叹一番的时候,J哥哥推Z石破天惊的Castle Wolfstein, 然后再接再励Qdoom, doomII, Quake...每次都把3-D技术推到极致。J哥哥的简历上说自q专长?Exhaust 3-D technology"Q真是牛Za不我ƺ的说。做J哥哥q样的h是很q福的,因ؓ各大囑Ş卡厂家一有了C品就要向?#8220;qA” Q不然如果他的游戏不支持哪种卡,哪种卡基本就会夭折乐。当初MS的Direct3D也得听取他的意见Q修改了不少API。当ӞJ哥哥在结婚前十数q如一日地每天~程14时以上Q也是偶们凡人望莫及的。对了,J哥哥高中肆业(Q?Q可以说是自学成才。不q呢Q谁要用q个例子来ؓ自己学习不好辩护Q就大错牚w了。那 Leonardo Da Vinciq是自学成才?人是U生子,不能上学)。普通h和天才还是有区别的。对了,其实偶们?#8220;辑ֈ?#8221;是相当不对的Q因为Vinci是地名,而Da Vinci是从Vinci来的人的意思。换句话_Leonardo Da Vinci是“从Vinci来的Leonardo”的意思。叫别h“Da Vinci”׃知所谓乐。嗯Q扯q了Q打住?More about Carmack Here
David Cutler
David CutlerQVMS和Windows NT的首席设计师Q去微Y前号U硅h牛的kernel开发员。当初他和他的手下在微Y一周内把一个具备基本功能的bootable kernel写出来,然后_“who can't write an OS in a week?"Q也是牛气冲天的说。顺便说一句,DL到NT3.5Ӟ理1500名开发员Q自p兼做设计和编E,不改coder本色啊。DL天生脾气火爆Q和Z论时喜欢双手猛击桌子以壮声势?-) 日常交谈F-word不离口。他面试U书时必问:"what do you think of the word '****'?" Q让无数女刹羽而归。终于有一天,一个同L爆的女面对这个问题脱口而出Q?That's my favorite word"。于是她被录取乐QؓDL工作到NT3.5发布?
Donald E. Knuth
Don Knuth(Donald E. Knuth)。高L其实用不着偶多说。学~程的不知道他就好像学物理的不知道牛,学数学的不知道欧拉,学音乐的不知道莫扎特Q学Delphi的不知到 Anders HejlsbergQ或者学Linux不知道Linus Torvalds一P不可原谅啊?-)Z让文章完_再|唆几句吧。高L本科时就开始给行行色色的公司写各种E奇古怪的~译器挣外快了。他卖给别h时收一两千元Q那些公司拿了codeQ加工一下卖出去是上万上十万。不q也没见高爷爷不爽过Q学者本色的说。想想那可是60q代初啊Q高L写编译器写多了,带搞Z个Attribute Grammar和LR(k)Q大大地造福后h啊。至于高L在CalTech的编E比?有Alan Kay得众多高高手参加)LW一Q写的Tex?6q就code freezeQ还附带2^n分奖励{等都是耳熟能详Q偶׃饶舌乐。顺便说一下,高老大h无可争议的写作高手。他lConcrete Mathematics 写的前言可谓字字铉KQ堪为前a的典范。他的技术文章也是一l,文风l致Q解释精当,而且没有学究气,不失d跌。记得几q前读Concrete MathematicsQ时不时开怀大笑Q让老妈极其郁闷Q觉得我nerdy到家Q不可救药。其实呢Q子非鱼Q安知鱼之乐Q更不知那完全是高爷L功劳。说到写作高手,不能不提Stephen A. Cook。他的文章当q就被我们的写作老师极力推荐Q号U典雅文风的h。库L一头银发,w材颀长,L面带谦和的微W,颇有仙风道骨Q正好和他的仙文盔R的说。高L其实q是开源运动的先驱。虽然他没有象Richard Stallman那样八方奔走Q但他捐献了好多作品Q都可以在网上看刎ͼ比如著名的Mathematical WritingQMMIXWareQThe Tex Book{,更不用说以让他芳百世的Tex乐?
Ken Thompson
Ken ThompsonQC语言前nB语言的作者,Unix的发明h之一(另一个是Dennis M. Riche老大Q被ؓDMR)QBelle(一个厉害的国际象棋E序)的作者之一, 操作pȝPlan 9的主要作?另一个是大牛人Rob Pike, 前不久被google挖走?。KenL也算是计机历史上开天辟地的人物了?969q还是计机史前时代Q普通h都认为只有大型机才能q行通用的操作系l,型机只有高׃Ԓ止的份儿。至于用高语言来写操作pȝQ更是笑谈。KenL自然不是池中物,于是他和DMR怒了Q在1969q到1970间用汇编在PDP-7上写ZUNIX的第一个版本。他们ƈ不知道,一轰烈烈的UNIX传奇由此拉开了序q。KenL?971q又把Unix用C重写Q于是C在随?0q成׃不知多少豪杰的梦惛_光荣。KenLq有D佳话:装了UNIX的PDP-11最早被安装在Bell Lab里供大家日常使用。很快大家就发现KenL总能q入他们的帐P获得最高权限。Bell Lab里的U学安心比天高Q当然被搞得郁闷无比。于是有高手怒了Q蟩出来分析了UNIX代码Q找到后门,修改代码Q然后重新编译了整个UNIX。就在大安以ؓ“q个世界清净?#8221;的时候,他们发现KenLq是轻而易丑֜拿到他们的帐h限,百思不解后Q只好l郁闗谁知道q一郁闷Q就郁闷?4q_直到KenL道出个中~由。原来,代码里的有后门Q但后门不在Unix代码里,而在~译Unix代码的C~译器里。每ơC~译器编译UNIX的代码,p动生成后门代码。而整个Bell Lab的hQ都是用KenL的C~译器?
Rob Pike
Rob Pike, AT&T Bell Lab前Member of Technical Staff Q现在google研究操作pȝ。罗伯伯是Unix的先驱,是贝实验室最早和Ken Thompson以及Dennis M. Ritche开发Unix的猛人,UTF-8的设计h。他q在国名嘴David Letterman的晚间节目上露了一脸Q一脸憨厚地帮一胖子吹牛搞怪。让偶佩服不已的是,|伯伯还?980q奥q会箭的银牌得丅R他也是个颇为厉害的业余天文学家Q设计的珈玛线望远镜差点被NASA用在航天飞机上。他q是两本l典QThe Unix Programming Environment ?The Practice of Programming 的作者之一。如果初学者想在编E方面精益求_,实在该好好读读这两本书。它们都有中文版的说。罗伯伯q写ZUnix下第一个基于位囄H口pȝQƈ且是著名的blit l端的作者。当然了Q罗伯伯q是L锐意革新的操作系l,Plan9Q的主要作者。可惜的是,Plan9q没有引起多h的注意。罗伯伯一怒之下,写出了振聋发聩的雄文 Systems Software Research is IrrelevantQ痛斥当下系l开发不思进取,固步自封的弊病。虽然这文章是|伯伯含忿出手,颇有偏激之词Q但实道出了系l开发的无奈Q开发周期越来越长,代h来大Q用戯l一到少数几个系l上Q结果越来越多的zd是测量和修补Q而真正的革新来少。就在罗伯伯郁闷之极的时候,google登门求贤来乐。如果说现在q有一家大众公司在不遗余力地把pȝ开发推向极致的话,也就是google 乐。随便看看google的成果就知道了。具有超强容错和负蝲q能力的分布式文gpȝGFS (现在能够?00,000台廉价PC搭v一个巨型分布系l,q且高效便宜地进行管理的pȝ也不多哈)Q大规模机器学习pȝ(拼写查,q告匚wQ拼x寅R。。哪个都很牛的说)Q更不用说处理v量ƈ行计的各式google服务了。Rob在System Software Research is Irrelevant里萧瑟地说现在没有h再关心系l研I的前沿成果了。想不到他错了,因ؓgoogle兛_。google|络了大批功成名q牛hQ还有大量初生牛犊般博士做开发,昄不是没事耍酷Q而是因ؓ它们的开发L试图吸取pȝ研究的最新成果?惛_Rob Pike在google很幸。愿他做出更的pȝ?
Dennis M. Ritchie
Dennis M. Ritchie 既然Ken Thompson是我的偶像,新闻l上人称DMR的Dennis M. Ritchie自然也是Q毕竟两人共同缔造了UNIXQ而Dennis几乎独力把C搞大(当然QC的前w是BQ而B是Ken Thompson一手做出来?。J 两h1983q分享图灵奖Q是有史以来数几个因工E项目得奖的工程?本来是唯一的一对儿Q但Alan Kay才因为SmallTalk得奖Q所以就成了唯二的乐) 。一个h一生能做出一个卓的pȝ已经不易QDMR的C和UNIX长盛不衰q?0q_至今生机勃勃QDMR此生可以无憾的说。DL也算有家学渊源:他老爸在AT&T贝尔实验室工作了一辈子Qƈ在电路设计方面卓有成,q出了本颇有影响的书The Design of Switching CircuitsQ据说在交换理论和逻辑设计斚w有独到的。当ӞDL和他老爸是不同时代的人:他老爸的研I成形于晶体发明之前,而DL的工作离了晶体管q儿不转乐?-D不要看DL搞出了CQ其实他最q~程语言是AlefQ在Plan9上运行,支持q行~程。Alef的语法和C怼Q但数据cd和执行方式都和C大大不同。说到语aQDL对后来h有非怸肯的Q抱着学习的目的来开发你自己的语aQ不要冀望于它被众h接受。这个徏议不光对语言开发有用,也适用于其它大型系l的开发。别的不_DMR后来领导自己的团队在1995q和1996分别推出了Plan9?Inferno操作pȝQ又用多h知道呢?其实QDL当初也没惌C会风行世界。他开发C的初衷和 Eric S. Raymond在Cathedral and Bazaar里阐q的一P是要消除自己对现有工具的不爽之处。谁知DL无心插柳QC竟然受到众多E序员的狂热拥戴Q连DL自己都大惑不解。在一ơ采访中DL说大概那是因为C的抽象程度碰巧既满了程序员的要? 又容易实现。当然C一度是Unix上的通用语言也是原因。但不管怎么_DL对编E语a的审意识奠定了Cqؓ传的基。最后八卦一下。DL的业余爱好和NBA大牛Karl Malone一P开卡R。不qDL更喜Ƣ开NASCARQ而KM独爱巨无霸。J DL自称心中不供偶像Q如果一定要说一个,那就是Ken Thompson了。现在KenL退休当飞机教练MQ而DL当了贝尔实验室系l开发部的头Q整日忙于开支票。他俩合?0q_屡屡创造历双Ӏ这Do人神往的佳话,也就长留你我心中乐。P.S., 很多人都以ؓBrian W. Kernighan是C的作者。其实BWK只是写了那本l典K&R C。据DL_他,Ken, 和Kernighan三h中,Kernighan最能写文章Q他ơ之Q而Ken写得最;但说到编E,KenL才是当之无愧的老大?
Edsger Wybe Dijkstra
Edsger Wybe Dijkstra 对,是E.W. Dijkstra. 一提到EWDQ很多h׃惌v找最短\径的Dijkstra AlgorithmQ就好像一提到Sir. Tony HoareQ就惌vQuick Sort一栗其实这些个法不过是两个牛人在他们职业生中最琐碎的A献。比如Dijkstra法Q无非是戴爷爷在1956qؓ了展C新计算?ARMAC的计能力,初试w手的成果,属于他的法处女作。据戴爷爯qͼ他搞出最短\径算法的时候连U笔都没用。当时他和他老婆在阿姆斯特丹一家咖啡厅的阳C晒太阛_咖啡Q突然就把这个算法想出来乐。而且当时的算法研I还比较原始Q牛Z忙着用计机搞数D,对离散算法不屑一。那时连一个象L专注于离散算法的专业期刊都没有。戴L于是推迟发表q个法。直?959q_他才把这个算法发表在Numerische Mathematik的创刊号上,权ؓ捧场?-) EWD在多个领域牛气冲天,端的是理论和~程两手的高手。只不过他的很多工作比较深刻Q学校的老先生们觉得本科生接受不了,不给本科生讲而已。戴L大概因ؓ最短\径算法一战成名,于是有h请他参加另一台计机X1的设计工作,q且把设计实时中断系l的dz了他。现在看来实时中断也怸什么,但要知到QX1前根本就没有实时中断的概c实现它直就是一赌。戴L起初q不情愿Q但l不住项目负责hBram和Carel的轮?#8220;Ҏ”Q我们知道实时中断让您工作变得非常困难,但象您这L牛h肯定能做出来的说。结果戴L被糖衣炮弹彻底击I,接下了这个烫手山芋。两三年后,他不仅搞Z实时中断Q还围绕q个写出了自q博士论文Q顺利戴上博士帽。让戴爷L正成名立万的q是在X1上开发的Algo60Q最早的高语言之一。戴L没日没夜地工作了8个月Q就搞出了Algo60Q也因此获得?972q的囄奖。因为Algo60Q戴L发表了一石破天惊的文章QRecursive ProgrammingQ于是h们才知道Q原来高U语a也可以高效地实现递归Q原来从此以后,所有程序员都不可避免地和戴L发明的一个词(应该说是概念)打交道:堆栈。而且Algo60q让戴爷h入地思考多道程序设计的问题Q最l发明了每个pȝE序员都l不开的概念:semaphore。当Ӟ戴爷hL把他发明的概念严格Ş式化Q极L学家本色的说。和q些成就xQ他提出的吃饭的哲学安题,也就没什么好说的了。说来好W,当时的大?忘了哪所?q是觉得戴爷h有受q正l的数学训练Q也不是专门搞数值分析的Q所以最后不太情愿地l了他一个教职。这U小挫折q不能妨象戴爷爯L牛h创造历双Ӏ他一Ҏ数值分?:-D) Q一边开始开发一?br />