Anders Hejlsberg(安德斯-海森博格) 坐在自己的办公室,双眼直直的盯着前方。他要做一个决定,决定自己未来的命运和理想。这是1996年一个普通的下午,几个小时前,他刚与比尔-盖茨结束了一次愉快的午餐,同为软件界的精英,他们相谈甚欢,盖茨给他开出三百万以上的年薪和数万股的微软股票。这是一个诱人的条件,但更重要的是,盖茨许诺他可以有充分的时间和资源投身自己感兴趣的技术方向。

51CTO开发频道年终巨献:架构师最怕程序员知道的十件事

Anders在犹豫,他是否真的要离开已经工作了十三年的Borland。从Turbo Pascal、SideKick再到Delphi,Borland是Anders辉煌的起点,他在这里成为人们敬仰的软件大师,并一手铸就了Borland传奇;在Borland,Anders有太多美好的回忆和未完成的理想。


Anders Hejlsberg

然而,随着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++

  • 独家专访Fred George:架构师是使用代码
  • Ruby on Rails创始人DHH:架构是将复杂的
  • 独家专访Randy Shoup:架构师要学会权衡
  • 独家专访冯大辉:由“实”及“虚”的架构
  • 独家专访梁远华:架构师需要广泛的知识面

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正在用自己的理想续写新的技术传奇。

Delphi与C#之父:技术理想架构开发传奇相关推荐

  1. Anders Hejlsberg 技术理想架构开发传奇

    原文链接:http://www.cnblogs.com/ibeisha/p/anders.html Anders Hejlsberg(安德斯-海森博格) 坐在自己的办公室,双眼直直的盯着前方.他要做一 ...

  2. 区块链技术:架构及进展

    title: 区块链技术:架构及进展 总结归纳 1 引言 传统数据库 传统的关系型数据库管理系统.NoSQL数据库管理系统 单一机构进行管理和维护 单一机构对所有数据拥有绝对的控制权 其他机构无法完整 ...

  3. Delphi、C#之父Anders Hejlsberg首次访华 推广TypeScript

    Delphi.C#之父Anders Hejlsberg近日首次访华,并在10月24日和27日参加了两场见面会,分享了他目前领导开发的TypeScript项目,并与国内前端开发者近距离交流.InfoQ记 ...

  4. java分布式技术平台架构方案

    CoolJava技术特点 CoolJava的技术解决方案信息系统的稳定性.技术先进性.可拓展性,并且满足未来继续增长.业务变革.监管加强的潜在需求.追求系统快速开发迭代,CoolJava应用开发框架能 ...

  5. 互联网公司理想架构探讨

    来源:https://juejin.cn/post/6844904054921887757 互联网理想架构 本文探讨了互联网公司的技术架构,涉及DNS.负载均衡.长连接.API网关.PUSH推送.微服 ...

  6. 《云计算:概念、技术与架构》一2.1 案例研究1:ATN

    本节书摘来华章计算机<云计算:概念.技术与架构>一书中的第2章 ,第2.1节,(美)Thomas Erl (英)Zaigham Mahmood 著 (巴西)Ricardo Puttini ...

  7. 《企业大数据系统构建实战:技术、架构、实施与应用》——第3章 企业大数据解决方案 3.1 企业大数据解决方案实现方式...

    本节书摘来自华章计算机<企业大数据系统构建实战:技术.架构.实施与应用>一书中的第3章,第3.1节,作者 吕兆星 郑传峰 宋天龙 杨晓鹏,更多章节内容可以访问云栖社区"华章计算机 ...

  8. 《云计算:概念、技术与架构》一2.3 案例研究3:Innovartus

    本节书摘来华章计算机<云计算:概念.技术与架构>一书中的第2章 ,第2.3节,(美)Thomas Erl (英)Zaigham Mahmood 著 (巴西)Ricardo Puttini ...

  9. IT规划中的技术体系架构

    IT规划中的技术体系架构体系架构通常会建立一个共有的能帮助今后持续发展的信息扩展基础,然而,简单的设定目标是远远不够的,必须和构建人员.客户.厂商及其他相关人员进行沟通以达成共识,在构建过程中要维护该 ...

最新文章

  1. python文件的基础操作
  2. PWA即将推向所有Chrome平台
  3. 异常检测——局部异常因子(Local Outlier Factor ,LOF)算法
  4. idea代码区分成两屏显示
  5. 彻底堕落了一回——大三篇
  6. Spring Boot-------JPA——EntityManager构建通用DAO
  7. python打开文本文档_带声明的Python –带打开的文件
  8. ScriptManager EnablePageMethods 与 JSON 序列化
  9. 集成学习01_xgboost参数讲解与实战
  10. 基于启英泰伦语音芯片的语音AIoT应用方案,可实现家居联控
  11. springboot 集成quartz带数据库持久化
  12. Unity 3D中级项目:捕鱼达人
  13. 2014福布斯中国富豪榜(名单)
  14. 法国电影《蝴蝶》Le Papillon主题曲
  15. 短网址短链接哪个好用?2021年最好的缩短链接短网址推荐
  16. 台式计算机中经常使用的硬盘多是多少英寸,笔记本硬盘和台式机硬盘有什么不同...
  17. 如何创建低成本沙箱环境?推荐你使用API仿真!
  18. 爆料:外汇交易大师成功的秘诀
  19. springcloud.3.服务注册与发现
  20. 电网两阶段鲁棒优化调度模型(含matlab程序)

热门文章

  1. 学编程太枯燥?分享十几个边玩游戏边学编程的网站!第五个连孩子都在用
  2. 低代码指南100解决方案:47深度解读丰田精益生产管理模式,5大精髓助力精益生产又好又快推行
  3. c语言中能否将打开多个文件的行为放入循环中
  4. 内容+5G,“不务正业”的电信运营商找到了新出路?
  5. Java入侵检测系统(一)
  6. 递归和循环优劣以及对递归理解
  7. 我愿称之为史上最全的深度学习面经总结(附答案详解)
  8. [QT]制作软件级屏保
  9. SEO高手都有哪些技术手段
  10. python实现闹钟功能