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

简介: Anders Hejlsberg(安德斯-海森博格) 坐在自己的办公室,双眼直直的盯着前方。他要做一个决定,决定自己未来的命运和理想。这是1996年一个普通的下午,几个小时前,他刚与比尔-盖茨结束了 一次愉快的午餐,同为软件界的精英,他们相谈甚欢,盖茨给他开出三百万以上的年薪和数万股的微软股票。

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

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++

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

目录
相关文章
|
8天前
|
边缘计算 Cloud Native 安全
构建灵活高效的下一代应用架构 随着企业数字化转型的加速,云原生技术正逐渐成为构建现代化应用程序的关键支柱。
随着企业数字化转型加速,云原生技术逐渐成为构建现代化应用的关键。本文探讨了云原生的核心概念(如容器化、微服务、DevOps)、主要应用场景(如金融、电商、IoT)及未来发展趋势(如无服务器计算、边缘计算、多云架构),并分析了面临的挑战,如架构复杂性和安全问题。云原生技术为企业提供了更灵活、高效的应用架构,助力数字化转型。
28 4
|
5天前
|
Kubernetes Cloud Native 持续交付
云端新纪元:云原生技术重塑IT架构####
【10月更文挑战第20天】 本文深入探讨了云原生技术的兴起背景、核心理念、关键技术组件以及它如何引领现代IT架构迈向更高效、灵活与可扩展的新阶段。通过剖析Kubernetes、微服务、Docker等核心技术,本文揭示了云原生架构如何优化资源利用、加速应用开发与部署流程,并促进企业数字化转型的深度实践。 ####
|
3天前
|
缓存 运维 监控
后端开发中的微服务架构实践与挑战#### 一、
【10月更文挑战第22天】 本文探讨了微服务架构在后端开发中的应用实践,深入剖析了其核心优势、常见挑战及应对策略。传统后端架构难以满足快速迭代与高可用性需求,而微服务通过服务拆分与独立部署,显著提升了系统的灵活性和可维护性。文章指出,实施微服务需关注服务划分的合理性、通信机制的选择及数据一致性等问题。以电商系统为例,详细阐述了微服务改造过程,包括用户、订单、商品等服务的拆分与交互。最终强调,微服务虽优势明显,但落地需谨慎规划,持续优化。 #### 二、
|
3天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
9 1
|
9天前
|
监控 API 开发者
后端开发中的微服务架构实践与优化
【10月更文挑战第17天】 本文深入探讨了微服务架构在后端开发中的应用及其优化策略。通过分析微服务的核心理念、设计原则及实际案例,揭示了如何构建高效、可扩展的微服务系统。文章强调了微服务架构对于提升系统灵活性、降低耦合度的重要性,并提供了实用的优化建议,帮助开发者更好地应对复杂业务场景下的挑战。
14 7
|
6天前
|
运维 监控 API
后端开发中的微服务架构实践与挑战####
【10月更文挑战第19天】 本文将深入浅出地探讨微服务架构在后端开发中的应用,通过实例解析其核心理念、优势所在,以及实施过程中可能遭遇的挑战与应对策略。不同于传统单体应用,微服务以其轻量级、灵活性和可扩展性受到青睐,但同时也带来了服务间的通信复杂性、数据一致性等问题。通过本篇文章,读者将对微服务架构有一个全面而深入的理解,为实际项目中的选型与实施提供参考。 ####
|
8天前
|
运维 Kubernetes 开发者
构建高效后端服务:微服务架构与容器化技术的结合
【10月更文挑战第18天】 在数字化转型的浪潮中,企业对后端服务的要求日益提高,追求更高的效率、更强的可伸缩性和更易于维护的系统。本文将探讨微服务架构与容器化技术如何结合,以构建一个既灵活又高效的后端服务体系。通过分析当前后端服务面临的挑战,介绍微服务和容器化的基本概念,以及它们如何相互配合来优化后端服务的性能和管理。本文旨在为开发者提供一种实现后端服务现代化的方法,从而帮助企业在竞争激烈的市场中脱颖而出。
11 0
|
21天前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
62 2
|
25天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
【10月更文挑战第1天】探索微服务架构中的API网关模式
76 2
|
2月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2

热门文章

最新文章