程序界的高手传奇(转)[@more@] (1)MIT BBS上说微软电话面试的一道题就是“Who do you think is the best coder, and why?”。我觉得挺有意思的,也来凑个热闹。排名不分先后。 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 Carmack,ID 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 Cutler,VMS和Windows NT的首席设计师,去微软前号称硅谷最牛的kernel开发 员。当初他和他的手下在微软一周内把一个具备基本功能的bootable kernel写出来,然 后说:“who can't write an OS in a week?",也是牛气冲天的说。顺便说一句,D爷爷 到NT3.5时,管理1500名开发员,自己还兼做设计和编程,不改coder本色啊。 D爷爷天生脾气火爆,和人争论时喜欢双手猛击桌子以壮声势。:-) 日常交谈F-word不离 口。他面试秘书时必问:"what do you think of the word 'fu*ck'?" ,让无数美女刹羽 而归。终于有一天,一个同样火爆的女面对这个问题脱口而出:"That's my favorite word"。于是她被录取乐,为D爷爷工作到NT3.5发布。 (4)Don Knuth。高爷爷其实用不着偶多说。学编程的不知道他就好像学物理的不知道牛顿 ,学数学的不知道欧拉,学音乐的不知道莫扎特,学Delphi的不知到Anders Hejlsberg, 或者学Linux不知道Linus Torvalds一样,不可原谅啊。:-)为了让文章完整,就再罗唆几 句吧。高爷爷本科时就开始给行行色色的公司写各种稀奇古怪的编译器挣外快了。他卖给 别人时收一两千美元,那些公司拿了code,加工一下卖出去就是上万上十万。不过也没见 高爷爷不爽过,学者本色的说。想想那可是60年代初啊,高爷爷写编译器写多了,顺带就 搞出了个Attribute Grammar和LR(k),大大地造福后人啊。至于高爷爷在CalTech的编程 比赛(有Alan Kay得众多高高手参加)总是第一,写的Tex到86年就code freeze,还附带 2^n美分奖励等等都是耳熟能详的,偶就不饶舌乐。 顺便说一下,高老大爷是无可争议的写作高手。他给Concrete Mathematics 写的前言可 谓字字铿锵,堪为前言的典范。他的技术文章也是一绝,文风细致,解释精当,而且没有 学究气,不失轻快跳脱。记得几年前读Concrete Mathemathics,时不时开怀大笑,让老 妈极其郁闷,觉得我nerdy到家,不可救药。其实呢,子非鱼,安知鱼之乐,更不知那完 全是高爷爷的功劳。说到写作高手,不能不提Stephen A. Cook。他的文章当年就被我们 的写作老师极力推荐,号称典雅文风的样本。库爷爷一头银发,身材颀长,总是面带谦和 的微笑,颇有仙风道骨,正好和他的仙文相配的说。 高爷爷其实还是开源运动的先驱。虽然他没有象Richard Stallman那样八方奔走,但他捐 献了好多作品,都可以在网上看到,比如著名的Mathematical Writing,MMIXWare, The Tex Book等,更不用说足以让他流芳百世的Tex乐。 (5)Ken Thompson,C语言前身B语言的作者,Unix的发明人之一(另一个是Dennis M. Riche老大,被尊为DMR),Belle(一个厉害的国际象棋程序)的作者之一, 操作系统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编译器。:P (6)Rob Pike, AT&T 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 (现在能够用100,000台廉价PC搭起一个 巨型分布系统,并且高效便宜地进行管理的系统也不多哈),大规模机器学习系统(拼写检 查,广告匹配,拼音搜寻。。。哪个都很牛的说),更不用说处理海量并行计算的各式 google服务了。Rob在System Software Research is Irrelevant里萧瑟地说现在没有人 再关心系统研究的前沿成果了。想不到他错了,应为google关心。google网络了大批功成 总是试图吸取系统研究的最新成果。想必Rob Pike在google很幸福。愿他做出更棒的系统.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8225414/viewspace-945056/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8225414/viewspace-945056/

程序界的高手传奇(转)相关推荐

  1. “中国第一程序员” 求伯君的传奇经历

    "中国第一程序员" 求伯君的传奇经历 研发 他被称为"中国第一程序员",25岁就凭一己之力击溃"英美联军" 为何却在最巅峰的时候激流勇退?2 ...

  2. 做程序界中的死神,提升斩魂刀

    标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...

  3. 做程序界中的死神,获取自己的灵力修养

    标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...

  4. 硬件工程师如何成为焊接界的高手

    作为一个硬件工程师 可以不会做饭 可以不陪女朋友逛街 但一定要会焊板子 一定要喜欢调电路 焊板子是一技术活 有这一手的好活 定会让妹子一见倾心 看一眼下面的这些玩意 我们称之为Tool 就知道用它们做 ...

  5. 做程序界中的死神,提升灵力上限

    标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...

  6. 做程序界中的死神,继续提升灵力上限

    标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...

  7. 做程序界中的死神,锻造合适的斩魂刀

    标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...

  8. 做程序界的死神,获取自己的斩魂刀

    标题解读:标题中的死神,是源自<死神>动漫里面的角色,斩魂刀是死神的武器,始解是斩魂刀的初始解放形态,卐解是斩魂刀的觉醒解放形态,也是死神的大招.意旨做程序界中程序员的佼佼者,一步一步最终 ...

  9. bcs转10 c语言,小弟刚学习C语言,怎么把下段汇编代码转化为C语言程序,请高手指教!!!单片机89c52...

    已结贴√ 问题点数:20 回复次数:3 小弟刚学习C语言,怎么把下段汇编代码转化为C语言程序,请高手指教!!!单片机89c52 BIT_COUNT     DATA 07FH TIMER0       ...

最新文章

  1. 并发编程之 源码剖析 线程池 实现原理
  2. python创建数据库字数不限制_textarea字数限制方法一例
  3. JavaScript高级程序设计(第三版)学习笔记22、24、25章
  4. Java:键盘输入一个小数,输出其整数部分
  5. Order by 按照自定义顺序排序
  6. openURL的使用(iOS调用系统电话、浏览器、地图、邮件等)
  7. 计算机与数学专业的就业前景,2019数学与应用数学专业就业前景和就业方向分析...
  8. 打印机(Brother MFC-7860DN)一直提示更换墨盒
  9. 2021-09-14 if__name__ == ‘__main__‘的用法
  10. SpringCloud之Ribbon源码分析(二)
  11. 云南钉钉早教、幼儿园、托儿所一体化智能管理系统解决方案
  12. 手机浏览器查看控制台
  13. seo三部曲之关键词策略
  14. 李宏毅自然语言处理——GPT3简介
  15. java itextpdf 5 基础知识
  16. 《当我谈跑步时我谈些什么》书摘
  17. 案例 | 基于JMP Pro的Lasso及岭回归在水稻全基因组预测中的应用
  18. ik与拼音分词器,拓展热词/停止词库
  19. 语义分割算法性能比较_语义分割江湖那些事儿
  20. C#,图像二值化(12)——基于谷底最小值的全局阈值算法(Valley-Minium Thresholding)与源代码

热门文章

  1. 云服务器怎么设置成代理服务器?
  2. 游戏脚本开发思路总结
  3. PAT编程(python) 1004 成绩排名
  4. android studio打包apk,jnilibs中的so库未被加载到apk内
  5. android投影到win7,求教,如何把安卓手机屏幕投射到win7电脑上-win7投屏设置,手机投屏到电脑win7...
  6. C# 操作Word书签(二)——读取、替换Word书签
  7. 【Vue】Vue数据及事件绑定
  8. 解决git中upstream丢失问题Your branch is based on 'origin/xxxx', but the upstream is gone.
  9. Sass-5【颜色函数、透明度函数、@规则】
  10. 外设驱动(一)E-Paper墨水屏扫描显示原理