SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg

导读

上周,C#、Delphi 之父 Anders Hejlsberg 亲临帝都,就 TypeScript 做了一场手艺分享,并与浩瀚开辟者就此举行了手艺讨论。Anders Hejlsberg 到场微软的 19 年里,一向致力于 C# 和 .NET 的研发事变。同时,作为 TypeScript 的中心开辟者和该开源项目标重要指导人物,他此次来帝都,重要也是为 TypeScript 传教。以下是讲座重要内容。

《SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg》

Anders Hejlsberg 简述 TypeScript

(Anders)大家下昼好!起首我引见一下这是我第一次到中国来,在这儿停留的这一天令我异常愉快,而且此前我也是异常冲动的。本日在这会给大家引见一下我一向在做的事变,包含大家都在议论的 TypeScript 以及相干的 Open Source 的一般性的事变。

我做软件开辟东西已有 35 年的时刻了,而且编写了差别言语的编程。之前都是专有的源,是封闭式的,如今我看到它有更新的变化,有一些新的方法论。

起首我们来看一下相干的背景。RedMonk 在上个季度方才发出的报告,JavaScript 在 GitHub 和 StackOverflow 被说起的次数排名都很靠前,和之前比有明显的上升。我以为这内里有一些比较重要的缘由。起首,JavaScript 是真正跨平台的言语。之前的言语,如 Java,实在如今都不算是(跨平台言语)了。别的,JavaScript 的机能近年来有 10~100 倍的飞速提拔,它一个言语就可以在一切的层面上编程,这个是异常不一样的处所。比方这两年的 Node.js,另有挪动端 ReactNative、NativeScript 等等,都可以用它来编写。在差别层面运用同一个言语开辟,避免了进修许多新的东西。

其次,如今 JavaScript 已被 ECMAScript 规范化了。本年已出到第六版的规范,看起来异常野心勃勃,由于他们的目标是为了处理 JavaScript 的一些遗留题目,而且别的增加一些新的模块、class 等等。如今第六版的规范我以为有许多东西是异常有意义的,像 Mondule、Class、Arrow Function 等,JavaScript 的中心实际就是如许的。起首它是动态的,是两个家属系列(Dynamic 和 Static),对动态的界定是它不需要编译,直接打印就可以了,静态的是请求你静态地举行编译。我们可以离别来看一下动态和静态之间都各有什么长处?长处大家都晓得就是它异常简化,可以让你直接上手事变,而且可以互动不需要编程,而且异常轻易。静态的这块更多是强调修改一些毛病,强调机能晋级另有更好的东西。实际上实际来讲是说动态的和静态的都各有所长,而且我们二者都需要有。

大概是 5 年前我们的客户包含本身内部的团队就跟我们说,他们在写大的 JavaScript 代码时会碰到一些题目,所以我们想,如何做才增强 JavaScript 代码,让其强的更强,同时不破坏和破坏既有的代价。这就致使了我们如今所说的 TypeScript 的涌现——实际上它是 JavaScript 的超等鸠合,把二者(动态的、静态的)最好的东西都鸠合在一同。如许实际上带来了两个优点,一个是我们在这上面增加了静态的,如许就有更加好的东西,另有一个优点在于你可以如今猎取将来才有的一些相干的属性,可以在任何浏览器、任何的托管主机和操作体系中运用,而且它全部都是开源的,这才是跨平台的。(ECMAScript6 实际上在 5 年今后有了异常大的、多的 browser 布置才行)

……

以上是 Anders Hejlsberg 关于 TypeScript 基础的引见。接下来是圆桌对话,是进一步的深切相识。圆桌对话由 SegmentFault CTO 祁宁、LeanCloud CEO 江宏以及云适配 CTO 马铎配合参与。

圆桌对话:深切相识 TypeScript

江宏:大家好,我是 LeanCloud 的江宏。LeanCloud 是挪动运用的后端云效劳。我是很小的时刻学编程时就最先运用 Anders 制造的 Turbo Pascal,直到厥后的 Delphi。本日很愉快有时机跟巨匠一同交换。适才 Anders 引见了 TypeScript,那末我就以一个这方面的题目收场吧。TypeScript 在 JavaScript 之上加了 class,而据我所知,许多 JavaScript 顺序员,包含一些很优异的顺序员,都对在 JavaScript 里模仿 class 有猛烈的恶感。除了宗教缘由之外,你以为从手艺上看 class 和 prototype 有好坏之分吗?

Anders Hejlsberg:你的这个题目异常好,JavaScript 没有 class,所以有一些习惯于 class 的开辟者以为不大好用,而加上 class 也是由于有一部分的开辟者是要用如许的东西。从 TypeScript 的 compiler 来讲,JavaScript 原有的 function、closure、prototype 都不受影响。对我来讲,我以为它是中性的,你可以用这个也可以用谁人,有两种方法来开辟。

马铎:我相识 Anders Hejlsberg 教师的手艺有十来年,他在开辟界内里名望很大,可议论的题目是异常多,但如今我们把题目回到 TypeScript 上,我想到一个题目,TypeScript 这类言语这么天真,那末我想提的题目是,在天真与规范化之间,TypeScript 是如何做好均衡的,这是否是 TypeScript 设想之初做的重要的斟酌?

Anders Hejlsberg:TypeScript 作为一个言语来讲,手艺上是异常有意义的。它有一个 GridView (77:21) Type 或者是 (77:22) Type 如许的东西可以用,假如如许用的话就可以查。假如不写范例的时刻,实际上就相当于 JavaScript,题目是你如何来写范例,传统上来讲编程的言语就是两个,一个是静态、一个是动态的,或者是 DodeType,一切的都是用静态范例来写的,所以你可以选用哪种情势的范例。

祁宁:TypeScript 和 ECMAScript 的关联会是如何的?假如今后 ECMAScript 支撑了越来越多的 TypeScript 里的新特征,我们还需要 TypeScript 吗?

Anders Hejlsberg:我想就这个题目说两件事,起首是关于适才提到的 ECMAScript6 的规范化,我们是异常致力于这个事变的,它就是微软的,我们也不是愿望要把这个言语变成一个完整差别的东西。别的,它实际上有一些中心的东西,一个是 TypeScript 从静态范例供应了一个更好的东西,同时在编码的时刻我们把它叫做 Downlevel,我以为多是更简化的意义。别的 ECMAScript6 规范化的时刻是在不断地演化的,但我并不以为这个规范化有静态范例的体系,今后 6 还会有新版本,而如今的 browser 是不会支撑它的。

祁宁:我们晓得微软在开源社区中一向颇受微辞,它也有一些颇受诟病的传统,那末如今的微软真的走向开放了吗?

Anders Hejlsberg:有关你提的题目应当更多地看一下我们的行为,你们有本身的评判。假如看一下我们所谓事变的流程另有全部的开源社区对这个事变的深度的参与,另有包含 Google 已在写 Angular 2,而且是在 TypeScript 上写的,这些是事实胜于雄辩的。我们微软也是在变的过程当中,在这个过程当中我们也进修了许多的东西。

江宏:顺序设想言语在过去几十年里阅历了一个演化过程。GUI 和桌面顺序催生了面向对象的言语,多核处理器和对平行盘算的需求让函数式言语再次盛行起来,同时也让 Erlang、Go 等一些新的言语涌现。您以为下一个新的言语是什么样的,让它涌现的动时机是什么?

Anders Hejlsberg:有关这点实在很难说将来会涌现什么新的言语的范例,但我可以说一下哪些事变或者是要素影响了如今的事变,比方说我们说的函数式的言语,这个对许多其他的东西来讲都是异常可以带来灵感的源泉。由于函数式言语有了 C# 里的许多特征,固然微软也有本身的函数式言语 F#。别的挪动运用另有云等等都影响了如今的许多事变,他们请求体系之间可以举行网络通讯,可以容忍耽误,所以有了异步的编程。ECMAScript6 的规范今后会是 7,但编程的模子也是会继承向前演进的,然则编程言语的演进是异常迟缓的,由于它不是基于硬件的演化,而更多是涉及到人方面的要素。我们也晓得在过去的 30 多年里,人大脑的尺寸没有发生太多的变化,因而编程言语方面它的演进是异常慢的。

马铎:我这有两个小题目想讨教一下,第一是关于 TypeScript 的开源以及微软开源的事变,但这个题目实在可以不必问了,由于我也是一个 TypeScript 的运用者,关于开源这块实在已有答案了。第二个题目是 TypeScript 如今生长的一种状态,我想听听 Anders Hejlsberg 教师在环球范围内以及在中国的 TypeScript 生长的状态是否是跟你所设想的一样,是好照样不好?

Anders Hejlsberg:有关这个题目我以为 TypeScript 在过去一年半的时刻里是阅历了异常异常疾速的或者是许多轮的增进,如今我们看到了 Angular 2 另有 Google 也到场了,自从他们到场了以来又有了更大的增进。别的,从每月有关这个下载的相干运用来讲,也是超过了 5000 万。再有,看到社区也是异常异常热烈的,由于他们如今在 GitHub 上事变了一年半的时刻了,这内里有许多相干的题目,这说明在过去的一年半时刻里肯定是有许多相干的题目和运用。我们看到了它的生长。TypeScript 在许多集会上或者是用户团体集会上都是有许多运用的。

祁宁:我们晓得这是您第一次来中国,您对中国的开辟者印象如何?您能从您本身的阅历中为这些年轻人提出发起吗?

Anders Hejlsberg:起首,我以为这是我第一次来中国,这个阅历令我异常冲动。别的和当地开辟者社区有一些互动,别的我们看到了全部的开辟者社区热忱也是异常大的,所以这些对我们来讲都是异常震动的,别的我们也在微软当地的研讨看了相干的项目,我发明也是迥殊棒的,许多东西异常务虚、异常有效、异常有意义,个中许多东西我都想把它放在我们终究的产物里。

再有,实在我很难给大家一些相干的发起,对我来讲编程的事变应当是大家都富有热忱的来做的,由于我在上学的时刻就最先打仗这个事变,当时个人电脑都没有,什么东西都得重新学起,但我就是想学,谁也不能阻挠我,并不是说我愿望获得更高的薪酬,我完整是凭热忱。我异常荣幸我的兴致和事变是连系在一同的,但不是大家都像我这么荣幸,最重要的是你要找到你的热忱地点,而这个又能带给你快活,这就是带来更好的事变造诣,假如你面对一个挑选,一方面是事变能多给你钱,另一方面是你很酷爱的,如许的话才事变得异常带劲,你也可以生长,同时也能学到异常多的东西。

江宏:您在微软多半是有某些治理职责的,不管是对人照样对项目,叨教您是如何均衡关于手艺事变的热忱和本身的其他职责的?我置信许多手艺人都邑有这个题目。比方我之前在 Google 事变的时刻许多工程师碰到这个题目。厥后创业,许多手艺身世的创业者也碰到这个题目。

Anders Hejlsberg:这个题目相对来讲比较好回复,我是自立挑选做手艺方面的事变,实际上我不管人,也没有人向我报告,但在手艺方面我负的义务是异常大的。由于对我的事变形貌是我必需要创作出在环球开辟者社区都异常有影响的产物,所以我是不管人的,我更情愿处置我异常善于的手艺方面的事变而不是治理人,这是我的特长地点,也是我的热忱地点。

江宏:您在职业生涯里阅历了不少编程言语和东西的生命周期。比方我之前用您主导开辟的 Delphi。从手艺上说 Delphi 是一个异常好的开辟桌面运用的言语和开辟环境,然则如今很少有人用了,好像 Delphi 的生长没有到达应有的高度。假如谁人时刻有比较多的开源社区参与,您以为事变会不一样吗?您以为决议一个言语的死活和是否能盛行的重要要素有哪些?

Anders Hejlsberg:这个我也是很难说的,由于当时还没有开源,如今有了开源我以为它的影响对编程言语来讲是异常异常大的,而且假如没有开源将没有任何的编程言语是受欢迎的,由于开辟者如今已对私有的封闭式的东西是不敢兴致的,而且我以为言语的设想 90% 的编程言语都是一样的,那 10% 是新的东西,新的东西生长是异常异常迟缓的,由于它和硬件如何生长都没有关联,它是和人脑和数学的生长是有关联的,所以是异常迟缓的。别的我不以为有任何的编程言语是完美无瑕的,我常常跟他人这么说,你给我看一个完美无瑕的编程言语,我立时给你展现一个基础没有效户的编程言语。一旦编程言语有了用户,它的代码就要斟酌向后的兼容性。许多手艺都有许多蹩脚的处所,而这个恰是它们胜利的表象。

《SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg》

以上为圆桌对话重要内容,圆桌完毕后,Anders Hejlsberg 还与在场的开辟者就编程方面的题目举行了交换。关于本次帝都之行,他示意异常感谢中国云云多的开辟者可以支撑 TypeScript,也愿望在今后越来越多的开辟者能参与到 TypeScript 的事变中来。

检察 GitHub 该项目:Microsoft/TypeScript

运动现场照片

《SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg》

《SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg》

《SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg》

《SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg》

《SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg》

《SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg》

    原文作者:SegmentFault
    原文地址: https://segmentfault.com/a/1190000003944860
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞