Anders Hejlsberg 技术理想架构开发传奇
原文链接:http://www.cnblogs.com/ibeisha/p/anders.html
Anders Hejlsberg(安德斯-海森博格) 坐在自己的办公室,双眼直直的盯着前方。他要做一个决定,决定自己未来的命运和理想。这是1996年一个普通的下午,几个小时前,他刚与比尔-盖茨结束了一次愉快的午餐,同为软件界的精英,他们相谈甚欢,盖茨给他开出三百万以上的年薪和数万股的微软股票。这是一个诱人的条件,但更重要的是,盖茨许诺他可以有充分的时间和资源投身自己感兴趣的技术方向。
Anders在犹豫,他是否真的要离开已经工作了十三年的Borland。从Turbo Pascal、SideKick再到Delphi,Borland是Anders辉煌的起点,他在这里成为人们敬仰的软件大师,并一手铸就了 Borland传奇,Anders在这里有太多美好的回忆和未完成的理想。
然而,随着1994年Philippe Kahn(Borland公司创始人)的离去,Anders渐渐失去了最强有力的支援。Borland的新任CEO Delbert Yocam希望加强Delphi在IDE市场的王者地位,因为Delphi才是Borland最主要的财务来源,但Anders已经看到Java和虚拟机语言的潜力,与其在已有的产品上徘徊不前,他更想专注于新产品Borland Java(后来的JBuilder)的研发,Borland的管理层的技术短视和Anders的技术追求显得如此格格不入,Anders回忆那段经历时曾说“那时,我感觉自己并不是不可缺少的人”。
风靡一时的Turbo Pascal
Borland 的内部矛盾很快引起了微软的注意,Anders在开发界的名头和对技术的理解使微软急不可耐,甚至对Borland使用了最直接的攻击。微软人力部门派遣加长型的大轿车到Borland大门口找Anders吃饭,并开出了年薪百万美元以上的条件。在苦等无应、按捺不住之下,很快就再次联系Anders,这次给出的条件是两百万美元,但依然没能打动Anders。微软开始思索金钱以外的东西。第三次,比尔-盖茨亲自出马,除了开出三百万的价码,还给 Anders完成技术理想的许诺。
经过短暂的犹豫,Anders完成了自己的决定,这个决定足以像Turbo Pascal和Delphi那样再次振动整个开发界。因为这个决定,促成了VJ++、C#和微软.NET战略的诞生。
Visual J++
1996 年,Anders正式加盟微软,成为Visual J++和WFC(Windows基础类库)的架构师。他的第一个项目与其在Borland的技术理想相当接近,在微软知名的Visual Studio平台上打造一个基于虚拟机的语言和像Delphi一样彻底解放程序员生产力的IDE。这就是J++语言和VJ++开发工具。我们知道,编程语言和IDE的开发相当考验一个架构师的功力,作为用汇编打造Turbo Pascal和亲手开发Delphi的软件大师(自Anders离开Borland后,Delphi的底层架构在三年内一直无人可以修改),Anders 不负众望,微软很快在新版Visual Studio 6.0版本中引入了J++,微软平台的程序员找到了击败Java阵营的工具。
在相当 一段时间里,J++成为微软抗衡Java的最有力武器。同时,由于Anders对Java的一些想法,改进后的J++甚至吸引了一大批Java程序员。后 来由于微软在Java开发工具授权问题上和Sun公司的纠纷以及Borland公司对微软大张旗鼓的挖角的报复,迫使微软停止了Visual J++的后续开发。在Borland对微软和Anders个人的起诉书上写有这样一句话:“Anders正在帮助微软开发Delphi for Java”。
作为Anders在微软的第一个产品,J++曾一度取得成功。但最后的纠纷使Anders意识到,商业环境的变化已经无法再像当年做Pascal那样随意,想要完成自己的梦想,必须帮助微软打造自己的技术平台和编程语言,而这门语言不是C++,因为他不想受C++标准委员会的限制。这门语言也不是Java,因为他看到Java不完美的地方和商业纷争。Anders要的,是运行在独立平台上的一门完美语言 。
.NET与C#
VJ++ 之后,Anders作为.NET概念的发起人之一,被任命为微软.NET的首席架构师主持开发工作。众所周知,.NET框架最初是个模糊的概念,即使是推 出.NET战略一年之后,开发者依然无法看清.NET的技术愿景。其实,Anders也在不断的思考,从Turbo Pascal到Delphi再到现在的.NET,所有这一切都是致力于对开发者生产力的解放。但在微软,他要做的是平衡技术理想和商业价值的关系。还好, 比尔盖茨履行了他当年的诺言,Anders可以按照他的想法打造.NET,程序员出身的盖茨相信,好的技术必然会带来好的商业价值。
在经过不断的反思和讨论之后,Anders确定了.NET未来的走向:一个致力于敏捷软件开发、快速应用开发、平台无关性和网络透明化的软件开发平台。.NET 将是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。它应该包含许多有助于互联网和内部网应用迅捷开发的技术。
这就是我们现在所看到的.NET,更重要的是,为了实现这一平台,Anders需要一门新的编程语言,它既要像Java一样通过虚拟机实现平台的跨越,还要避免一些开发者普遍抱怨的Java语言存在的缺点。同时,这门语言的革新将使得程序员可以同时进行Windows应用软件和网络应用软件以及组件和服务的开发。这门语言就是C#。
.NET已成为微软的基础技术架构
Anders 曾笑称自己“把上世纪末和本世纪初的全部献给了C#”。作为C#的架构师,Anders对其倾注了自己的全部精力。2003年,在Channle 9的一次访谈中,《Java编程思想》的作者Bruce Eckel向Anders证实一段传闻:“我听说C#是一个工程师小组在一个屋子里设计出来的? ”,Anders苦笑作答:“是的。4年来,我们一直呆在这个屋子里。现在,每周一、三、五,我们仍然在这里会面。”
我们可以想象Anders为使C#只允许单一继承,同时保证一个类可以实现多个接口功能的苦苦思索;也可以想象他为C#支持完整反射的反复论证;这一切都是为了他的技术理想,而这个理想自大学时代开发Turbo Pascal时就未曾变过。
现在,我们已经看到了.NET和C#的成功,这不仅体现在每期的编程语言排行榜上,在Windows平台和众多.NET开发的网站上,.NET和C#现在已经无处不在。在Delphi的辉煌过后,Anders正在用自己的理想续写新的技术传奇。
Anders Hejlsberg 技术理想架构开发传奇相关推荐
- Delphi与C#之父:技术理想架构开发传奇
Anders Hejlsberg(安德斯-海森博格) 坐在自己的办公室,双眼直直的盯着前方.他要做一个决定,决定自己未来的命运和理想.这是1996年一个普通的下午,几个小时前,他刚与比尔-盖茨结束了一 ...
- Delphi/C#之父:Anders Hejlsberg
Anders Hejlsberg曾在丹麦科技大学学习工程学,他编写的Pascal编译器的核心,1981年将Pascal编译器卖给了Borland,并加入Borland公司,那时的Borland公司还 ...
- 一个创业的故事——Philippe Kahn 和Anders Hejlsberg
用这个和我无关的故事来总结过去的十几个月,送给那些打算创业和正在创业的人们,这是勇敢者的游戏. Philippe Kahn和 Anders Hejlsberg到美国准备创业的时候,没有什么钱,Phil ...
- 产品架构开发方法(2011中国软件技术大会)
上周末在国家会议中心举办的2011中国软件技术大会上我做了一个分享:产品架构开发方法.很高兴能在不同的大会上做演讲,但更高兴的是能够结交更多的朋友. 这个演讲内容包括了企业架构.业务分析.软件 ...
- C#首席设计师Anders Hejlsberg访谈
7月,O'Reilly编辑John Osborn参加了微软职业开发者会议.在此,他对著名的工程师.微软.Net框架C#语言首席架构师Anders Hejlsberg进行了采访.Anders Hejls ...
- Anders Hejlsberg 访谈 .-转载
楔子: 我是从DELPHI一直走进.NET的,我对工程和实用性比算法看的重要的多,我认为工程更加可以产生出没敢: 我见过很多年纪比较大的程序员,埋头苦干,很少思考美学,可能是没有站到软件工程领域思考我 ...
- C#首席设计师Anders Hejlsberg专访
C#首席设计师Anders Hejlsberg专访 7月,O'Reilly 编辑John Osborn参加了微软职业开发者会议.在此,他对著名的工程师.微软.Net框架设计师.C#程序语言首席设计师A ...
- Delphi/VisualJ++/.NET/C#之父-Anders Hejlsberg
Delphi/VisualJ++/.NET/C#之父-Anders Hejlsberg Anders虽然没有显赫的学历,无法获得Turning Awards. 但Anders的实力和贡献绝不输于任何一 ...
- Anders Hejlsberg
虽然Anders没有显赫的学历,无法获得Turning Awards(即图灵奖,信息科学界最高 荣誉的奖项,等同于诺贝尔奖).但是我认为Anders的实力和贡献绝不输于任何一位 Turning Awa ...
最新文章
- iPhone 和 iPad的ios 开发中 利用 WebViewJavascriptBridge组件,通过 UIWebView 对Html进行双向通讯...
- C++实现平衡二叉树
- JAR软件转APK,在线转换器
- MapReduce简介
- 2020牛客国庆集训派对day2 VIRUS OUTBREAK
- mysql协议分析1,MySQL协议分析(1)
- 移动用户界面的5个设计原则
- Python中for循环之range、enumerate函数
- 杭电oj-----Nightmare(BFS)
- 电化学稳态阻抗谱(EIS)在等效电路已知的情况下进行拟合,python第三方工具包impedance.py
- 当天使爱上吸血鬼,上帝开始哭泣
- 美化Hexo 个人博客
- 【百科】喜马诺变速器
- 蹩脚的Access分页语句
- ES2015 class
- 他说他是具有文学气息的工科屌丝男(900字文言文,硕士论文致谢)
- processOn在线制图工具
- linux centos无法进入系统,centos无法进入桌面系统
- 教你怎么阅读外文文献
- scanf()函数的用法
热门文章
- 批量doc 转换为docx 文档
- 掌握PS制作,实时预览你的精彩作品
- 计算机库网络不见了,在电脑中的库文件夹不见了的找回方法介绍
- C语言003:郑州轻工业大学在线测评题目
- 系统变量和用户变量的区别
- [Luogu4169][Violet]天使玩偶/SJY摆棋子
- 艾伟_转载:我对NHibernate的感受(1):对延迟加载方式的误解
- TP5做工资条群发系统
- 【华为OD机试真题 JAVA】用连续自然数之和来表达整数
- android 联想云盘,附文:联想云盘安装_联想 小新Air 12 LTE版_笔记本评测-中关村在线...