C#之父Anders首来华:从TypeScript看开源
Posted dotNET跨平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#之父Anders首来华:从TypeScript看开源相关的知识,希望对你有一定的参考价值。
北京时间10月27日,微软卓越工程师和微软技术院士安德斯·海尔斯伯格(Anders Hejlsberg)首次到访中国,并接受了中关村在线的专访。提到安德斯·海尔斯伯格,他的身后总有很多头衔,“全球知名的软件开发大师、Delphi 和 C# 之父,”“Turbo Pascal 编译器的主要作者、.NET 概念发起人之一”。
安德斯·海尔斯伯格
此次,安德斯·海尔斯伯格到访中国,则更多是以TypeScript开源项目重要领导人的身份,向中国开发者和媒体介绍微软TypeScript开源项目的最新进展以及分享自己心得,这可满满的都是干货。
微软为何推TypeScript语言
微软TypeScript语言是一种自由和开源的编程语言,起源于开发应用程序规模的 javascript 应用程序的需求。它是JavaScript的超集,兼容JavaScript,可以载入JavaScript代码然后运行。
对于微软为什么会推出TypeScript语言安德斯·海尔斯伯格有自己的看法。他指出,JavaScript代表了一种趋势,而且现在有很多人在用它,它以后也会变成企业级的编程语言,但它中间同时又有那么多的问题,所以我们就想一定要把这个问题解决好,让它变成一个更好的编程语言。因为有很多的编程语言人们之所以要接受它,就是因为它要解决新的问题,这也是机会所在。
“所以这个开发过程还是很有意思的,我们添加了很多的东西,使TypeScript能更好的支持大型应用的开发,我觉得这个非常有意思”,安德斯·海尔斯伯格说,“我喜欢挑战。我愿意努力推出好的编程语言,使每一个程序员更富有效率地工作”。
从TypeScript看开源
微软TypeScript语言的开源性质是其最大特点之一,其实现在不仅是微软,谷歌和苹果也都在开源。对此,安德斯·海尔斯伯格指出,开源的进程是非常缓慢的,一开始是在开发者的世界中发起的开源,逐渐也是扩大到其他的领域。“现在从编程的语言来讲,要不是开源的基本上不会有任何的开发者会对它感兴趣,他们都不喜欢封闭的、专有的语言”。
安德斯·海尔斯伯格还讲到说,“微软的业务很多,而从开发工具来讲,它的商业模式肯定是开源的”。从开源的工作来说,我们微软还是努力开发过程中,在这段历程中我们起步不久,实际上在10多年前我们还不做开源呢,所以这对我们来说这个开发历程也是一个学习的过程,看看怎么样把事情做对,我们也要在这个过程中更好地倾听客户和社区的需求,这方面有很多的机会。
安德斯·海尔斯伯格指出,微软本身有很好的知识,资源的储备还有编程人员,而分享是使人人都受益的,包括微软自己。所以开源的决定微软做对了,否则的话我们就没有客户了,所以这点非常重要。再有,对微软来讲这些年我们也在不断地变化,我们一点点变,尤其是现在我们有了新的掌门人,我们也在学习做一些以前没有尝试没有做的事情。更重要的是我们要在过程中听客户的声音,听开发者社区的声音,是他们指导我们下一步如何更好地做开发。
同时开源对于微软也是至关重要。安德斯·海尔斯伯格表示,微软的openness(开放)有2个意思,一个是开放、一个是开源。开放是萨提亚的业务战略,这两年可以看到微软有更多开放的东西,如Office放到了苹果上,我们有安卓的东西,包括我们的Azure平台,你可以在这个平台上放Linux、Windows操作系统。“我们的开发工具对ios、安卓、WindowsPhone可以有跨平台的支持,我们甚至做了速度更快的安卓手机模拟器,这是在两年前就开始支持开放,跨平台的技术开发,这是我们的战略”,安德斯说。
“开源方面有很大的进展,我们开发平台的团队,包括微软最核心.NET框架已经开源了,所有的核心代码都已经放到开源社区了,我们核心中间件,基础的核心的开发都在GitHub上,我们开发平台上开源的事情一直在往前做,但开源不是这么容易的事情,不是说今天把代码写出来放到开源社区就是开源的了,今天开源社区有一定的标准和规范,所以我们要为了把.net开源就花很大的工夫,包括重写部分代码和注解,这是很多程序员都不愿意做的。我们还在逐步改进”,安德斯表示。
云和移动互联时代编程语言的趋势
现在是一个云的时代、一个移动互联的时代,因此在这样新的环境下,编程语言也会有新的变化和趋势。安德斯·海尔斯伯格指出,从编程语言的角度来讲,编程语言更多是一种分布式的应用,这一点是非常重要的,所以会有一些并行的、异步的等等,从编程语言本身来讲,它是不变,也就是说有一些信息技术基础方面的变化是不会变的。举例来说,大家都熟悉的C++还有C语言,都有了30年以上的历史,还是很多人在使用。
这里又引出了一个新问题,就是安德斯·海尔斯伯格曾表示“编程语言大概有10%是在不断发生变化的,其他90%都是共性的东西”。
安德斯·海尔斯伯格解释道:“其实有一些编程语言的历史大概有40年左右的时间,但仍然在被人使用,比如说C和C++,因此要认识到编程语言只是我们工作上的工具而已。要让编程语言获得成功,不光是内置的属性或者是变量,而更多是这个编程语言出现在一个合适的时间、一个合适的地点”。
比如Object-C这个语言曾经是个前景有限语言,从前世界上没有多少人在用这个语言,众说周知这个语言的开发体验并不是太好。但因为苹果并购了NeXT公司,把这个语言用在了iOS移动平台的应用开发上,一下子这个语言就得到了非常广泛的流行,安德斯·海尔斯伯格表示。
一个编程语言到底受不受欢迎,而且是哪10%起到了决定性的作用,这个因素也不好说。还有,一个好的编程语言,必须得有自己的特色。另外还要恰逢其时。JavaScript实际上经历了起伏的时段,后来有一个爆炸性的增长,主要是因为一下子基于浏览器的跨平台应用就显得非常重要了。
顺带一提,“TypeScript语言,其实我们所做的不是写一种新的语言,而是在原有的JavaScript中加入了Type的功能,还有其他一些配套的改进工程,使它更好用”,安德斯·海尔斯伯格说道。
对于未来的工具、未来的语言的理想状态应是什么的问题,安德斯·海尔斯伯格表示:原则上说工具和编程语言的存在让我们人类更富有创新创意,这些工具就是让你能够做能带来创意和创新的工作。“现在技术演进,编程工具更多,更智能,可以让编程人员能做创新,而把枯燥的、手动的、纠错的功能都让工具来做,这样程序员就能更有创意的工作了”,安德斯·海尔斯伯格说。
程序员到管理者转型:要听从内心
中国开发者在做了几年程序员之后就可能走向管理层,但在国外有很多人是做了三四十年的程序员,对程序员的这种职业生涯,安德斯·海尔斯伯格也发表了自己的看法,称这对有些人来说是非常好的转型,但做这两种工作需要的技能是不一样的,最重要的一点是要内省问一下自己擅长什么,哪些东西是自己喜欢的。
“对我来说我更愿意做技术方面编程的工作,并不是擅长做管理型的工作,所以我是自愿地作出了现在的职业选择,而且它也使我更成功,我从来不认为我做管理是会非常成功,因此这是因人而异的,大家要了解自己的擅长,了解自己内心的需求,然后在你喜欢的工作上才能做得更好”,安德斯·海尔斯伯格说。
安德斯·海尔斯伯格还表示,“我们与微软浏览器JavaScript team在开发的阶段进行了很多的互动。第二,没有计划让TypeScript在浏览器上运行,因为TypeScript更像是一套工具,用这个工具使开发者在开发的时候更加富有成效,产量更高一点”。
以上是关于C#之父Anders首来华:从TypeScript看开源的主要内容,如果未能解决你的问题,请参考以下文章
Delphi 和 C# 之父,TypeScript 之父安德斯·海尔斯伯格本月抵京,快约