设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

IT 大牛们的小传,有点academic风格的说

2013-9-27 13:34| 发布者: 红黑魂| 查看: 879| 评论: 0|来自: SegmentFault

摘要: 前几天在 iteye 看到一篇文章,里面写了一句话:谭浩强说过:程序 = 算法 + 数据结构当时我和我的小伙伴都惊呆了。于是,发到群里,准备嘲讽一下,却难道不是吗?难道不是吗?+1难道少了分号: 程序 = 算法 + 数据结 ...

Dennis M. Ritchie

Dennis M. Ritchie, 既然Ken Thompson 是我的偶像,新闻组上人称 DMR 的 Dennis M.Ritchie 自然也是,毕竟两人共同缔造了 UNIX ,而 Dennis 几乎独力把 C 搞大(当然,C 的前身是 B ,而 B 是Ken Thompson 一手做出来的) 。两人 1983 年分享图灵奖,是有史以来少数几个因工程项目得奖的工程师(本来是唯一的一对儿,但 Alan Kay 才因为 SmallTalk 得奖,所以就成了唯二的乐)一个人一生能做出一个卓越的系统已经不易,DMR 的C 和UNIX 长盛不衰近30 年,至今生机勃勃,DMR 此生可以无憾的说。

D 爷爷也算有家学渊源:他老爸在 AT&T 贝尔实验室工作了一辈子,并在电路设计方面卓有成就,还出了本颇有影响的书 The Design of Switching Circuits ,据说在交换理论和逻辑设计方面有独到的论述。当然,D 爷爷和他老爸是不同时代的人:他老爸的研究成形于晶体管发明之前,而 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 独爱巨无霸。D 爷爷自称心中不供偶像,如果一定要说一个,那就是 Ken Thompson 了。现在 Ken 爷爷退休当飞机教练去了,而 D 爷爷当了贝尔实验室系统开发部的头,整日忙于开支票。他俩合作 20 年,屡屡创造历史。这段令人神往的佳话,也就长留你我心中乐。

P.S., 很多人都以为 Brian W. Kernighan 是 C 的作者。其实 BWK 只是写了那本经典 K&R C 。据 D 爷爷说,他,Ken, 和 Kernighan 三人中,Kernighan 最能写文章,他次之,而 Ken 写得最少;但说到编程,Ken 爷爷才是当之无愧的老大。

Edsger Wybe Dijkstra

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 。当然,戴爷爷总是把他发明的概念严格形式化,极具科学家本色的说。和这些成就想比,他提出的吃饭的哲学家问题,也就没什么好说的了。

说来好笑,当时的大学(忘了哪所了) 还是觉得戴爷爷没有受过正统的数学训练,也不是专门搞数值分析的,所以最后不太情愿地给了他一个教职。这种小挫折并不能妨碍象戴爷爷这样的牛人创造历史。他一边教数值分析(:-D) ,一边开始开发一个新的操作系统,并培养计算机科学家。几年后,THE Multiprogramming System 横空出世。THE 是第一个支持松散耦合,显式同步的进程并由此使得严格证明系统没有死锁变得容易的操作系统。可惜戴爷爷任职的系不识货,还强行解散了他的研究小组(1972 年戴爷爷给他的系主任说他得了图灵奖,系主任的第一反应是你们搞计算机就喜欢乱发奖) 。这让戴爷爷相当郁闷,得了抑郁症。在极度郁闷之中,戴爷爷决定用写作来治疗自己的抑郁症。于是经典就诞生乐:Notes on Structured Programming 。戴爷爷从此被尊为结构化编程的奠基人,而且他的抑郁症也被治好乐。

Anders Hejlsberg

Anders Hejlsberg ,微软 .NET 的首席架构师,编程语言设计和实现的顶尖高手。他一手做出了 Turbo Pascal, 也是 Delphi, J++(尤其是WFC) ,C#, 和 .NET 的主要作者。这些作品的名字足以为他立传。作为一个程序员,我在这样的大师面前实在无语。生子当如 Anders 的说。

关于 Anders 的故事,可以读读李维的《Borland传奇》。

对于 Anders,如果再多写的话,恐怕会暴露我的年龄 OMG。因为我也是沐浴着 Borland 成长起来的一代程序员。

提到过去的 borland,想到的是:Turbo Pascal、Turbo C 、Borland C++、Dephi、Jbuilder 这些如雷贯耳、耳熟能详的伟大产品。

当年 borland 的创始人 philippe 和 Anders 两个人联手创业时,philippe 在西餐厅打工赚钱,而 Anders 则在开发后来的旗舰产品:Turbo Pascal。两个人因为本钱不够,决定到偏远的地方开始创业,他们开着 philippe 的破车,走到了 Scott Valley 的时候,刚好没油了,他们看着四周的美景,决定留下来开始自己的事业。若干年后,此地成为了高科技的盛地。

Anders 使用汇编语言撰写编译器,其功力无人能出其右。创造出了全世界速度最快、品质也是一流的 Pascal 编译器。在 Anders 离开了 Borland 之后,几乎没有人能够修改 Anders 的编译器。

后来推出了神级的开发工具 Delphi,当时别成为 VB killer(VB杀手),Borland 独占几乎所有的编译器市场。当 Java 在 1996 年逐渐快速发展之后,睿智的 Anders 也看到了 Java 成功的未来。因此在他不再积极参与 Delphi 2/3 的开发工作之后,便非常希望能够主导 Borland Java 开发工具的开发,期望能够像当初的 Delphi 1.0 一样,为 Borland 再次开发出全世界一级的 Java 开发工具。

不过,由于当时 Delphi 是 Borland 最重要的收入来源,高层仍然希望 Anders 继续在 Delphi 产品线上投入全力,因此当时 Delbert 并没批准 Anders 的请求。Borland 的下一个重要的开发工具 JBuilder(当时的产品开发名称为 Latte),仍然交由其他小组负责。(每想到此,痛哭流涕啊)

也许是 Anders 注定和 Borland 的缘分已经到了尽头,正好这个时候 Microsoft 展开了有史以来对 Borland 最大的挖角行动。在 Anders 无法在 Borland 取得满意的支持之后, Microsoft 提供的优厚条件顿时对 Anders 产生了致命的吸引力,从而造成了 Borland 无法挽回的遗憾。

Bill Gates 亲自三顾茅庐,最后答应 Anders 来微软开发 “Delphi for Java”。于是便有当时最快的 java 开发工具和最棒的 java 虚拟机 —— Visual J++。这也导致了后来 sun 和 微软的官司,已经 Borland 和微软的官司。(感觉微软和360挺像的)

由于微软不能在继续开发 java,于是 Anders 便开发了可以和 java 抗衡的语言,以及可以和 jvm 抗衡的平台,那就是 C# 以及 .net。

关于 Anders,就不再多说了。

致敬!

附赠一个番外篇:让人目瞪口呆的三位世界级电脑大师

转自:SegmentFault

http://segmentfault.com/a/1190000000313378


酷毙
1

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部