`
ender
  • 浏览: 41984 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

茶余饭后:聊一聊那些神一样的程序员们(2)

阅读更多

接上一篇 《茶余饭后:聊一聊那些神一样的程序员们

 

这一篇主要聊一聊安德斯·海尔斯伯格(Anders Hejlsberg ),他没有获得过图灵奖, 在名气上比不上前面几位,但也是另外一个传奇。

 

其实安德斯还真的和图灵奖有那么一点点联系,故事需要从Pascal 这门曾经大红大紫的语言说起。

 

凡是学过一点计算机知识的人大概都知道  程序=数据机构+算法 这一著名公式,提出这一公式的就是1984年的图灵奖获得者尼克罗斯. 沃思(Niklaus Wirth)。沃思还提出了结构化程序设计概念,我们现在觉得可能是司空见惯了, 但是在1971年“自顶向下,逐步求精“的方法的确改变了人们对程序设计的思维方式,  在程序设计中引起了一场革命,成为程序开发的标准方法,尤其是在后来的软件工程中获得了广泛的应用。

 

当然我们这里提到沃思还是因为他是Pascal 之父, 上个世纪60年代沃思在苏黎世工学院任教(注意:这是一个牛校,他的毕业生和教授中诞生了21个诺贝尔奖获得者,包括大名鼎鼎的爱因斯坦)期间发明了 Pascal ,   Pascal 语言奠定了结构化程序设计中常用的数据结构和控制结构,为程序员提供了极大的方便和灵活性,在C 诞生以前,是最受欢迎的语言。

 

有趣的是沃思发明Pascal最初只是想用来教学,并没有想到商业应用,他的一个学生Phillipe Kahn 从苏黎世工学院毕业以后,在美国加州创建了一个后来大红大紫的公司: Borland ,Borland创立之初,便注意到了Anders Hejlsberg编写的一个Pascal 编译器,很快雇佣了他,把编译器买了过来,更名为 Turbo Pascal 。

 

从此安德斯登上了软件开发的历史舞台。

 

Anders出生于丹麦, 作为北欧的一个小国,像丹麦,荷兰,芬兰,瑞典一样,虽然国土面积很小,人口很少,却在近现代的历史上展示了非凡的创造力, 有时间专门写一篇文章:聊聊北欧的小国

 

Anders 大学也没有毕业,基本上是自学成才, 可以这么说,他对编译器和开发语言的理解全世界没几个人能超越(李维语),他开发的Turbo Pascal 在1983年一经推出,就以闪电般的编译速度震惊了世界,在全世界狂卖出了100多万个Copy,不要小看100多万这个数字,80年代初微机刚刚开始起 步,1982年IBM 才公布IBM兼容机的标准,当时的 程序员非常少,100多万个Copy几乎占据了绝大部分市场。

 

由于每个Copy定价49.95美金,Philipe Kahn和 Anders 都变成了百万富翁。

 

也许是我大学编译原理学的不好, 觉得实现编译器是一件非常难的事情,所以对能写编译器的人总是心怀敬意。

 

安德斯竟然用汇编语言实现了编译器,并且能在一个极小的内存中以极快的速度执行, 考虑到上个世纪80年代初的硬件,真是非常了不起。

 

上一张图吧,怀旧一下 :-)  我没有学过Pascal, 只是在大学里学过C 语言,Turbo Pascal 和后来Borland 开发的Turbo C 在UI上极其相似,连菜单项的次序File, Edit,Search ,Run... 都一样,  看着这张DOS下的IDE,真是感慨啊。

 

 

历史的车轮滚滚向前,在IT界无论你曾经多么成功,如果不改变的话很快就会被抛在后面,Turbo Pascal也不例外。

 

随着面向对象和Window 编程的兴起,Turbo Pascal也到了改变的时刻。

 

做为Lead Architect , 安德斯带领团队开始从DOS转向Window 平台, 并且在编译器中开始支持Object Pascal :一种Pascal的扩展,实现了面向对象的特性。

 

但是仅仅在Window平台上实现面向对象的Pascal是远远不够的,想让开发人员迅速的开发应用程序,还必须有一个可视化的应用程序框架和类库,这就是Borland 的VCL .

 

终于在1995年,Borland推出了Window平台上的大名鼎鼎的开发工具:  Delphi .

 

“真正的程序员用VC,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述 。在我看来 Delphi之所以如此成功,成为VB Killer , 主要有下面几个原因:

 

1.  编译速度超快, 生成的可执行文件效率很高  : 这当然是安德斯深厚功力的体现

 

2. VCL (Visual Componet Library) 非常成功, 设计紧凑,优雅,可扩展行很强,相对于复杂,难用的MFC 不知道要高几个档次

 

3. 在数据库方面的特长非常突出,他的BDE(Borland Database Engine)可以和市面上的所有的数据库连接,对于C/S架构的应用程序开发来说是不二之选。

 

据说Delphi这个名称有个很有趣的来历, 当时市面上Oracle数据库最流行,Oracle 的意思是神谕,先知(还记得黑客帝国中的那个先知吗)?

 

Delphi意思是神庙,圣殿, Borland 的工程师把产品叫做Delphi,其实是想体现能和Oracle连接的想法: If you want to talk to Oracle, please go to Delphi.

 

很多中国程序员都有Delphi情结, 也出现了很多Delphi高手,比如写了《Delphi源码分析》和《大道至简》的周爱民 ,还有现任微信的产品经理张小龙,他1997年用Delphi编写了著名的邮件客户端软件Foxmail 。

 

1996年,Anders Hejlsberg在Delphi3发布前离开了Borland, 这里有很多原因,包括管理层的变化, 修改Pascal编译器的争执, 更重要的是据Borland内部人讲,Anders认为自己不再是“不可缺少的人”。 当然也和微软展开的大规模挖角行动有关,得知Anders 在Borland “不开心”以后  (这不仅让我想到C罗在本赛季初走进对皇马主 席办公室说 :  主 席先生, 我在这里很不开心"  :-) ), Microsoft直接派遣加长型的大轿车到Borland大门口接Anders吃饭,第一次Microsoft开出了年薪百万美元以上的条件, 但是Borland也采用了加薪的手段。

 

Microsoft并未因此灰心放弃,很快就再次用大轿车接Anders。这次Microsoft提出了年薪两百万美元以上的条件, Borland 挽留Anders 的条件是Delphi销售的提成, 但实际上Anders 早已是百万富翁,更注重的是自由的发展空间,所以当Microsoft决定祭出最后的王牌,由Bill Gates亲自邀约Anders聚餐, 许诺300万年薪和股票,以及一个小组和充分的资源让他尽情发挥, Anders没有办法拒绝了。 (本段选自李维的书籍《Borland 传奇》)

 

1996年的微软正是如日中天,刚刚发布革命性的Window 95 ,其轰动程度不亚于现在Apple发行iPhone,微软当年对程序员的吸引力,就像如今的Google,facebook那样。

 

话题扯的远一点,微软财大气粗,在挖人上向来“不择手段” ,非常有气魄,  比如当年微软想大力发展SQL Server , 准备把事务处理领域的大牛Jim Gray(1998年图灵奖获得者) 挖过来的时候,充分的体现了这一点。 Jim Gray不喜欢西雅图阴雨连绵的天气, 只想呆在阳光充足的旧金山, Bill Gates就说, 那我们就在旧金山给他自己建立一个研究所吧,就这样Jim 加入了微软。

 

Delphi 在Anders 离开以后继续前行,但是整个IT业界开始发生翻天覆地的变化,互联网和Java开始兴起, 软件系统架构开始从C/S向B/S演进, 软件业的竞争开始从开发工具转向向平台和中间件(J2EE, .Net,  Weblogic, Websphere.....),   而Borland主业仍然是开发工具,虽然后来推出了JBuilder, C#Builder等风靡一时的产品,甚至收购Together 完成了对建模,架构的支持,但总归是抵不过IT的潮流,慢慢的变成了一个二流公司, 再也无法和Microsoft 等公司竞争。

 

上一张Dephi的截图 :

 

 

而Anders在微软如鱼得水,似乎踩准了IT发展的步点,再次登上了人生的又一个巅峰。

 

Anders 首先开发了Visual J++ , 在微软的Visual Studio中, 相比VC, VB, 这是一个不引人瞩目又非常短命的产品, 原因很简单: 微软想在Java上分一杯羹,但是做的太过分了, 被Sun (可怜的Sun 现在已经被Oracle收购了)告上了法庭。当然结局是微软打败了官司。

 

J++ 是一种语言,和Java 的语法兼容, 但是以微软的野心,VJ++肯定不仅仅是新一个IDE的开发工具,就像JBuilder,Eclipse 那样,  微软肯定要把它绑定在Windows平台上来获取最大的利益。于是微软就对Java进行了扩展,增加了Delegate, Event, 还提供了一些直接调用Windows API的功能,这样Java在Windows上运行的效率肯定很高,但是就破坏了Write once, run everywhere 的特性。

 

Sun肯定不干了,一场官司下来,微软被迫停止了VJ++的开发。

 

不过VJ++ 展示了Anders 的精湛的技术实力,于1999年获得微软 distinguished engineer 称号, 微软也认识到自己必须要抓住网络计算的浪潮,需要要有一个能够抗衡Java的计算平台,这就是后来的.Net.

 

.Net虽然更多的是一个面向Marketing 的一个概念(相信大部分人都说不清楚.Net到底是什么),但是其技术支撑也让微软在和Java的斗争中扳回一局 ,微软也有了自己的虚拟机 :CLR (Common Language Runtime), 像Java那样,代码不再编译成可执行代码,而是翻译成中间语言,交由虚拟机执行。与JVM不同的是, CLR 支持C#, VB, VC, J# 等多种语言。

 

作为核心人物和首席架构师, Anders 对.Net作出了巨大的贡献, 尤其是C#语言的设计和实现,让C#成为在微软平台开发的第一选择。

 


最后,以Anders的近照和他的名言作为结尾:

 

“程序员是最好的职业”,Anders说:“每两年,CPU的速度要加倍,内存容量是原来的四倍,但是我们的大脑还是原来的大小,很显然,将需要更多的程序员来补充这些。”

 

 

0
0
分享到:
评论

相关推荐

    茶余饭后聊聊Vue3.0响应式数据那些事儿

    主要介绍了茶余饭后聊聊Vue3.0响应式数据那些事儿,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Java程序员,上班那点事儿(完整版)

    茶余饭后值得你去阅读的一本休闲技术书,作者以独到的观察向你阐述了作为一名java开发人员应该具有哪些东西,而且是完整版哦!!

    新手帖关于PWM逆变器从论坛上DOWN了一个逆变器模型-PWM_Discrete.mdl

    新手帖关于PWM逆变器从论坛上DOWN了一个逆变器模型-PWM_Discrete.mdl 从网上DOWN了一个简单的逆变器模型,附件见下,我得PWM序列生产一个是用连续的,一个是用离散的,模型中...请高手们茶余饭后帮忙解答!小弟谢过!

    新手帖关于PWM逆变器从论坛上DOWN了一个逆变器模型-PWM_continue.mdl

    新手帖关于PWM逆变器从论坛上DOWN了一个逆变器模型-PWM_continue.mdl 从网上DOWN了一个简单的逆变器模型,附件见下,我得PWM序列生产一个是用连续的,一个是用离散的,模型中...请高手们茶余饭后帮忙解答!小弟谢过!

    leetcode答案-Dalao:某群大佬茶余饭后的消遣

    每日一题(也称大佬带我装逼带我飞) 1. 这家前后端关系肯定好不到哪里去 出题人 B大 这段php代码 可能输出一个 JSON 也可能输出空 const foo = { bar: <?php> } 输出json时示例如下 const foo = { bar: {} } ...

    人工智能 Java 调用百度AI、腾讯AI、腾讯优图、.rar

    现在混在职场,如果不懂一点人工智能...2、让你在茶余饭后闲谈时,参加大咖的AI交流沙龙时,面试Ai公司准备资料时,更熟悉和从容。 3、我希望用小白最能懂的话解释一些我们不懂的知识,因为我和你都是AI领域的修行者。

    疯人院 v1.0.4

    同时还有脑残对话制作器,让疯友们可以拍下身边的疯人疯事,制作脑残对话。 我们发布内容的原则是有疯点、有笑点、有内涵,并且是和谐社会允许的内容(你懂的)。 作为疯友,您可以“顶”您觉得好的内容,还可以将...

    大数据时代的利及弊.doc

    有三个案例比拟有意思,一是福特的名言,"如果当年去问顾客他们想要什么,他们肯定 会告诉我:一匹更快的马。〞 乔布斯多年来持续不断地改善Mac笔记本依赖的可能是行业分析,但是他发行的iPod、i Phone和iPad靠的...

    啊哈C!思考快你一步

    这是一本非常有趣的编程启蒙书,全书从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。并配合超萌的编程软件,从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述...

    啊哈C!思考快你一步-用编程轻松提升逻辑力.pdf

    这是一本非常有趣的编程启蒙书,全书从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。并配合超萌的编程软件,从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述...

    啊哈c语言pdf

    这是一本非常有趣的编程启蒙书,全书从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。并配合超萌的编程软件,从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述...

    啊哈C!思考快你一步——用编程轻松提升逻辑力(带书签)

    这是一本非常有趣的编程启蒙书,全书从中小学生的角度来讲述,没有生涩的内容,取而代之的是生动活泼的漫画和风趣幽默的文字。并配合超萌的编程软件,从开始学习与计算机对话到自己独立制作一个游戏,由浅入深地讲述...

    大数据时代的利与弊.docx

    有三个案例比较有意思,一是福特的名言,"如果当年去问顾客他们想要什么,他们肯定会告诉我:一匹更快的马。" 乔布斯多年来持续不断地改善Mac笔记本依赖的可能是行业分析,但是他发行的iPod、iPhone和iPad靠的不是...

    [详细完整版]人工智能.docx

    一时间,人们茶余饭后的谈资都围绕着人工智能这一领域展开。对于人工智能来说,前60年的人工智能历程,可以用"无穷动"来形容;后60年的人工智能发展,可以用"无穷大"来期许。本文就从它的概念、简史、成果、前景、...

    网络口碑营销人才:利用网络工具进行营销.pdf

    从业要求:学历不是问题熟悉网络重要 做这一行首先要懂得网络口碑营销规律,熟知互联网的传播特点,熟悉网 络人群的上网习惯,否则盲目在论坛发帖子的推广方式是毫无意义的。专业 的网络营销推手,会从关注度、兴趣...

    leetcode超时用例数-interview:面试

    广告与打赏:个人茶余饭后独立开发的一个虚拟形象扮演软件 《》。打赏请点 。 :bookmark_tabs: 目录 :plus: C/C++ const 作用 修饰变量,说明该变量不可以被改变; 修饰指针,分为指向常量的指针(pointer to const...

    逗你乐--捕获世间最新最全搞笑图片、段子、美女图、视频

    这是一款休闲娱乐应用 含有Android个人开发者如何获取收益的例子 网罗世间最新最全搞笑图片 美女图片 爆笑段子 恶搞视频 美女视频 让您在紧张学习工作之余也能享受到快乐的时光 工作学习时 夜深人静时 无聊呆萌时 ...

    leetcode超时用例数--:C-C++

    广告与打赏:个人茶余饭后独立开发的一个虚拟形象扮演软件 《》。打赏请点 。 :bookmark_tabs: 目录 :plus: C/C++ const 作用 修饰变量,说明该变量不可以被改变; 修饰指针,分为指向常量的指针(pointer to const...

    安卓毕业设计app项目源码6-privacygeek:隐私极客PrivacyGeek

    希望从今以后,隐私不会再只是茶余饭后一笑而过的谈资。 目录 系列文章 开篇 酝酿了一段时间,新专栏「隐私极客」终于和大家见面了。 关于隐私,「」写到:「言论自由和隐私权一直是很重要的黑客理想,网络的发展也...

Global site tag (gtag.js) - Google Analytics