视频版推荐同步观看,喜欢请点三下~https://www.bilibili.com/video。..历史上,编程语言有数千种,但至今流行的只有几十种;放眼软件行业,语言开发者更是凤毛麟角;作为语言之父,他受到了神明般的崇拜;众神之中,他,跨越40年,在编程语言领域,创造了四大成就:TurboPascal、Delphi、C#、TypeScript;他在微软22位象征技术巅峰的TechnicalFellow中占有一席之地。他是安德斯·海尔斯堡。Borland犹如江湖中的侠客——TurboPascal和Delphi早期的Anders已经被奉为IT界的超级英雄。1960年出生于哥本哈根,从进入丹麦技术大学(DTU)学习电气工程到36岁,他创作了TurboPascal和Delphi两部脍炙人口的作品。TurboPascal的继任者Delphi仍然是排名前二十的编程语言。从大一开始,Anders就为基于Nascom-2Z80CPU的单板计算机套件编写了BlueLabelPascal编译器,用于取代微软在CPU上的Basic语言。据说,这个Pascal编译器的开发很大程度上是受到了图灵奖获得者、瑞士计算机科学家NiklausWirth所著的《算法与数据结构》一书中的“TinyPascal”编译器的启发。不久之后,安德斯为微型计算机操作系统CP/M和DOS重写了Pascal,并以PolyPascal品牌销售。1983年,他将PolyPascal授权给Borland,并被Borland集成到一个IDE中,改名为TurboPascal。TurboPascal使Borland名声大噪,为Borland成为世界知名的软件公司奠定了基础。从PolyPascal授权给Borland到1996年离开,在Borland的13年里,作为总工程师,以及TurboPascal和Delphi的创始人,Anders总共交付了7个TurboPascal版本和3个Delphi版本。Anders对Borland的影响至今还存在于20世纪90年代老程序员的记忆中。他们时常想念充满灵气和精神的Borland,还有它的开发工具。在Borland的鼎盛时期,它也成为微软在编程语言编译器和编程开发工具方面的竞争对手。针对微软在PC上的强势地位,号称1990年代三大计算机公司之一的Borland也与Sun、Lotus一起公开批评微软。然而,与微软竞争的Borland在1994年出现经营亏损,不得不出售资产纾困,并传出大幅裁员的消息。新的征程——加盟微软Borland的没落,给了微软广纳贤才的机会。自1995年底以来,员工纷纷离开Borland加入微软,其中包括1996年10月加入微软的安德斯。内忧外患的Borland于1997年5月起诉微软,声称在30个月内,微软承诺赔偿数百万美元签署奖金和其他奖励以挖走Borland的34名关键员工。这起官司引发强烈舆论,媒体纷纷以“不正当竞争”、“人才流失”、“人才抢夺”等头条新闻进行报道。微软挖角的各种情节也在社会上流传得淋漓尽致。那么,微软为什么要顶着外界的差评,非要签下安德斯这样的专家呢?安德斯的加入对微软摆脱计算机巨头Sun的控制有何作用?20世纪90年代中期,Sun开发了具有划时代意义的编程语言Java。Java因其“一次编写,随处运行”的能力而变得非常流行。当时,已经占据90%市场份额的Netscape浏览器决定与Sun合作,在浏览器中直接运行Javaapplets,甚至考虑直接将Java作为脚本语言嵌入到网页中。作为浏览器的竞争对手,微软不能落后。于是,微软获得了Sun对Java的授权,并宣布在IE3中也将运行Java小程序。为了支持在Windows上运行的Java,Microsoft需要经验丰富的开发人员和专家,而Borland正是这些人才的大本营。程序员的宠儿——C加入了微软的安德斯,首先主持了VisualJ++的开发,也对微软第一个跨平台应用程序开发框架.NET的开发产生了重要影响。然而,当Sun在1997年10月起诉微软违反IE4的Java许可条款时,是安德斯帮助微软摆脱了Sun的限制。时任微软服务器部门副总裁、后任SnowflakeCEO的BobMoglia当时参与挖角,后来回忆说,“在世界上,只有极少数人有能力开发语言和开发在这方面,Anders是金字塔的一角,他用创造了TurboPascal和Delphi的天赋创造了C#。至于Anders为什么离开Borland加入微软?在几次采访中,Anders也表示加入微软是因为13年后我需要尝试不同的东西1998年底开发的C#,是微软试图摆脱Sun控制的一次尝试C#1.0发布几天后,JamesGosling,Java创始人,时任副总裁Sun总裁表示,“这些天,虽然软件巨头微软正在竭尽全力以类似于Java的影响力来遏制Java,但是,我不会为微软失眠。不过,Gosling承认,当他和公司的其他人第一次听说这种新语言C#时,他们感到很恐慌。作为C#的首席架构师,Anders领导了C#的开发。C#是基于.NET框架和目标对象的一种高级编程语言。C#在继承C和C++强大功能的同时,去掉了它们的一些复杂特性,使其成为C语言家族中高效、强大的编程语言。C#基于.NET框架类库,具有类似于VisualBasic的快速开发能力。由于其通用性和易于阅读的语法,C#受到数百万人的青睐,并已成为Web和移动应用程序、游戏开发、商业应用程序等的首选。在发布二十年后,C#仍然是使用最广泛的编程语言之一,并跻身于最受欢迎的十大语言之列。Attheendof2021,theCEOofTiobe,anauthoritativelanguagerankingpublisher,saidthatsinceC#,theformerdarling,willgainnewpopularityin2021,C#ismostlikelytobeelectedasthe"languageoftheyear"thisyear.C#的流行也很大程度上是由于它倾向于快速接受新特性。在每一个版本的编程语言演进中,Anders都凭借自己的经验和技术为C#添加了许多开发友好的杀手级特性,例如3.0发布的语言集成查询LINQ;4.0发布的可选参数;只读自动属性、表达式主体函数、Null条件运算符在6.0中发布;8.0中发布的Switch表达式、Null合并赋值等。正如现任C#首席设计师MadsTorgersen所说,正是这种前瞻性的设计,让C#在20年的时间里积累了如此庞大的用户群。C#建立的基础和远见,也让微软能够打造出尖端项目Blazor。经过3年的发展,2020年5月19日,在一年一度的Build技术大会上,微软正式发布了“使用C#构建客户端Web应用程序”Blazor。通过WebAssembly技术和Blazor,现在可以使用C#而不是JavaScript构建交互式WebUI。使C#成为一种可以在服务器或浏览器中执行的语言。2001年,Anders因对TurboPascal、Delphi、C#和Microsoft.NETFramework的开发做出的贡献而获得著名的Dr.Dobb杰出编程奖。2007年,安德斯和他的团队获得了微软技术认可奖。同年成为微软22位超级大脑之一,最高技术职称TechnicalFellow。52岁的安德斯在2012年52岁,距离Typescript在C#1.0中发布已经过去了10年。此时,技术界对他依然充满了关注和期待。ZDNet连发两篇文章,《微软 C# 之父的下一个大招会是什么?》和《C# 之父能将我们从 Javascript 的束缚中解救出来吗?》。文章中的大动作是将于2012年10月首次发布的TypeScript0.8版本。再次上阵的安德斯,这一次对开发者和微软会有什么影响吗?2010年底,Anders开始开发TypeScript。当时,Web世界正在经历一系列完美风暴:从Windows主导的桌面端,到各种硬件和操作系统的出现,跨平台成为必然;同时,Google的V8引擎使得Javascript获得了10多倍的提升。而随着HTML5即将落地,在浏览器中编写应用程序不仅是必要的,而且是可能的。然而,就在开发者准备大显身手的时候,却被JavaScript的一些缺点所限制。由于JavaScript没有类,没有模块,尤其是没有类型系统,这限制了大型应用程序的开发。由于浏览器只支持JavaScript,而且没有JavaScript的替代品,如何解决这个问题成为了当时的难题。在TypeScript出现之前,微软打算使用一个名为Script#的工具来解决这个问题。当安德斯被问到时,他给出了不同的意见。他认为JavaScript的最佳实践无法通过使用另一种语言来体验。相反,它应该基于JavaScript来解决自身的不足。解决方案的关键是在不影响其独特的灵活性、简单性和动态特性的情况下,向JavaScript添加类型系统。TypeScript专为开发大型应用程序而设计,TypeScript可转换为JavaScript。由于TypeScript是JavaScript的超集,任何现有的JavaScript程序都是合法的TypeScript程序。经过两年的内部开发,微软于2012年10月首次发布了TypeScript0.8。如今,TypeScript已成为一种非常普遍的编程语言,用于在浏览器中构建大型应用程序。自发布以来,它在开发人员中越来越受欢迎。TypeScript在2021年StackOverflow调查中排名第三。并且还在上升。TypeScript的成功也可以从另一个角度得到印证。在开发TypeScript的同时,Facebook也提出了Flow作为解决方案。然而,如今,两者的走向却大相径庭。TypeScript在GitHub上的star逐年上升到6万多,而Flow还在2万左右徘徊;此外,过去一年的每日下载量也有很大差异。Flow基本在每天几十万级别,而TypeScript在20-30万之间。解决JavaScript大规模应用开发的问题并不是TypeScript的最终使命。正是它帮助微软克服了对开源的恐惧。相信开源——利用Javascript社区众所周知,微软现在是开源领域最大的参与者。不过,微软对开源的恐惧也有着众所周知的历史。当TypeScript开始开发时,当时的微软首席执行官史蒂夫鲍尔默在2001年称开源操作系统Linux为“恶性肿瘤”,因为Linux控制着与知识产权有关的一切。尽管鲍尔默在15年后宣布了他对开源的热爱,并且微软加入了Linux基金会,但当TypeScript开始开发时,微软高管仍然对开源感到恐惧。Anders相信开源,拥有独特的开源信念和哲学,这就是为什么TypeScript从开发的第0天就开源的原因。Anders认为,把代码放在一个开放的地方,供人们偶尔复制和处理一些Issues,只是技术上的开源,并不能体现开源的“开放开发”的本质。开放开发意味着你必须将开发的整个过程公开。同时,TypeScript也需要开放开发。Anders表示,最初构建TypeScript只是一个想法,一些原型,非常需要从JavaScript社区获得反馈以改进JavaScript实践。而吸引JavaScript社区的唯一方法就是开源。2014年,TypeScript将代码迁移到GitHub,实现了彻底的“开放开发”。对于TypeScript团队,GitHub是他们的工作场所。在那里,他们离用户很近,用户可以即时看到团队编写的代码。他们之间没有信息失真,与用户的交流更加快捷。不过,当安德斯提出TypeScript的开源倡议时,微软高层却不是很愿意。安德烈斯和团队做了很多说服工作。同时,随着Azure进入微软的产业链,2012年后微软对开源的态度也有所软化。因此,TypeScript帮助微软克服了对开源的恐惧,推动了微软的开源文化,这已经成为业界的共识。不久前,我采访了Anders的科技媒体TheNewStack,用老唱片公司Motown来比喻今天的微软。如果说全盛时期的摩城唱片有Stevie、Smokey、Marvin和MichaelJackson等传奇歌手,那么在CEO纳德拉的带领下正在复兴的微软背后,还有一位热门音乐创作大师,他的名字就是AndersHejlsberg。安德斯令人敬佩,不仅是因为他在四十年的时间跨度中不断在同一个题材上取得突破;也因为,虽然他已经六十多岁了,但依然执着于研发一线,给无数人带来了温暖和鼓舞,受到了鼓舞。在知识和产品快速迭代的今天,从业者应该静下心来思考。日积月累积累的经验和感悟,就像历史长河中的许多经验和智慧一样,必将跨越年龄的界限,带来价值。2019年,四位年龄介于55至60岁的语言达人齐聚CS4All的筹款活动。他们创造的语言时至今日仍位居榜首,他们自己也依然是活跃的发声者和实践者。作为他们的同龄人,看着他们现在的高脑力学习活动,不禁仰望大山,心中油然而生敬佩之情。
