TypeScript 之父:Linux 不是 Windows 的威胁,JavaScript 也不是竞争对手

2020年09月19日

TypeScript 4.0 已于上月正式发布。近日,外媒 ZDnet 则对 TypeScript 之父安德斯·海尔斯伯格(Anders Hejlsberg)进行了一则专门访谈,就 TypeScript 的发展历程进行了分享。

图片:Microsoft/YouTube

首先,Hejlsberg 提到了在 TypeScript 发展初期时微软内部对开源的态度。众所周知,微软的前首席执行官史蒂夫·鲍尔默(Steve Ballmer)曾公开的表达过 “Linux 是一种癌症”言论。他认为,Linux 威胁着微软的所有知识产权。而 Hejlsberg 则持不同意见,他认为 Linux 并不是 Windows 的威胁,“事实证明,它恰恰相反。”

Hejlsberg 称,早在 2010 年微软还在 Ballmer 的带领下时,他的团队就认为,开源战略是赢得 JavaScript 开发者的唯一途径。不过当时的他知道,想要在微软的总部将 TypeScript 作为一个开源项目推行,将会是很困难的一件事。

Hejlsberg 透露,一开始 TypeScript 其实只是一个简单的想法,一个想看看他们是否可以做得比 JavaScript 更好一点的想法。"我们建立了一些原型,并把它扔在了一起。但当时我们真的很清楚,我们吸引 JavaScript 社区的唯一方法就是开源。不过在当时的微软,这无疑是一个很破格的想法" 。

彼时的微软在 Ballmer 的领导下对开源持有一个"非常矛盾"且"害怕"的态度,Hejlsberg 的 TypeScript 团队也不可避免地在微软内部收到了抵制。"我们有点知道这是我们必须要做的事情,但我们没有做的经验。"

好在现如今,随着 TypeScript 项目日益成熟、微软开始大力拥抱开源,Hejlsberg 的 TypeScript 团队也终于不用再像之前一样如履薄冰了。

为什么要创建 TypeScript

TypeScript 孵化在一个有意思的阶段。彼时的谷歌 Chrome 浏览器,凭借其对 Web 标准的关注和一个名为 V8 的强大 JavaScript 引擎,已经成为了浏览器大战中的赢家。

Hejlsberg 回忆称,谷歌打造了一个非常高效的 JavaScript 引擎,JavaScript 的效率也大幅提升。每个人都开始意识到,浏览器将成为构建真正应用的地方。他说,当时的开发人员已经开始为浏览器构建庞大的 JavaScript 应用,并努力用 JavaScript 编写这些应用。

不过 Hejlsberg 认为,这种语言缺乏 modules、classes 等关键功能;重要的是,还缺乏在程序中通过规则创建秩序的 type system。而 TypeScript 的开发目的就是为了解决这些问题,为 JavaScript 构建更好的工具。此举的关键在于,要在语言中添加一个 type system,而不对 JavaScript 最受用户喜欢的那一部分内容造成影响。

于是,Hejlsberg 和他的团队决定建立一个 "erasable type system",这个组件则使得 TypeScript 成为了 JavaScript 的超集。在编译时,TypeScript 会删除所有的 types 并将其返回给 JavaScript。

Hejlsberg 解释说,从某种意义上说,它是一个 type system,只存在于开发者体验期间,但在运行时它就消失了。不过在运行时,它能给你带来的只有好处,没有任何缺点。

TypeScript 的主要竞争对手是什么? 

Hejlsberg 称,TypeScript 的唯一真正竞争对手是 JavaScript。因为这两种语言都是运行前端应用程序的必备语言,而 WebAssembly 却模糊了本机应用程序和浏览器应用程序之间的界限。

不过他也表示,JavaScript 并不是真正的竞争对手,“它是我们的孪生兄弟或另一个自我”由于 TypeScript 是 JavaScript 的超集,所以用户也可以将 JavaScript 视为 TypeScript 的子集。这意味着整个 TypeScript 工具链非常乐于处理 JavaScript 并在 JavaScript 之上提供所有服务。

Hejlsberg 认为,从某种意义上说,JavaScript 就像没有类型注解的 TypeScript。所以一种流行的使用 JavaScript 的方式是,人们不会直接在你的源代码中使用类型注解,而是将类型注解放在注释中(js.doc 注释),编译器则可以从这些注释中获得很多信息。

因此,在过去的几年中,Hejlsberg 和他的团队则一直在增强对 js.doc 注释的支持,从而增强了直接使用 JavaScript 的能力。

展开阅读全文
9 收藏
分享
加载中
精彩评论
这货的语言设计能力排第二的话没人敢排第一,不接受反驳。
2020-09-19 12:03
21
举报
安德森·海尔斯伯格在程序语言方面的造诣极深, 从 Delphi 到 C#, 再到现在的 TypeScript, 设计十分精良, 语法优雅.
2020-09-19 16:33
11
举报
好一个 "不过是给 JS 加了类型", 张嘴就来啊.
2020-09-19 16:30
9
举报
那是你没闻到到ts的香
2020-09-19 09:47
6
举报
这逼就是职业。net黑子。 逢.net 就黑。
2020-09-19 21:01
5
举报
最新评论 (49)
必须说,PHP世界第一,大家别争这个第一!
2020-09-23 15:16
0
回复
举报
毕竟Windows是最大的Linux发行版
2020-09-21 10:15
0
回复
举报
也就没几斤几两的人喜欢天天喊这个秒那个、那个秒这个的
2020-09-21 09:24
1
回复
举报
人家并不在乎自己是不是语言设计师第一,我们却非要比出来一个排名?
2020-09-20 23:32
4
回复
举报
总喜欢搞饭圈那一套,崇拜一个就要贬低其他所有的。
2020-09-21 15:21
2
回复
举报
评论很搞笑,拿着几千块工资的人在嘲笑一个世界级的技术专家
2020-09-20 16:22
0
回复
举报
世界级专家算啥,川普总统照喷不误
2020-09-21 15:23
1
回复
举报
您好,请问现在前端都用TypeScript吗?还是用JS好?有什么区别吗?
2020-09-20 16:04
0
回复
举报
用typescript的项目更容易维护,让开发者减轻了开发Js的心智负担。
2020-09-21 18:44
2
回复
举报
大项目用了好处很多,小项目得具体看效率成本
2020-09-24 12:33
0
回复
举报
ts舒服点
2020-09-25 09:20
0
回复
举报
ts就不说了,但linux就是威胁,这就不要骗人了
2020-09-19 21:07
1
回复
举报
安德森·海尔斯伯格在程序语言方面的造诣极深, 从 Delphi 到 C#, 再到现在的 TypeScript, 设计十分精良, 语法优雅.
2020-09-19 16:33
11
回复
举报
这货的语言设计能力排第二的话没人敢排第一,不接受反驳。
2020-09-19 12:03
21
回复
举报
Delphi用的Pascal是他设计的么?不是.
CSharp是他设计的,基本就是照着Java抄.
TS也是他设计的,在JS的基础上,不过是给JS加了类型.
这样,世界第一了?
2020-09-19 16:07
3
回复
举报
看到你我要反驳下,确实不是,因为PHP不是他设计的。。。哎,我错了
2020-09-19 16:19
1
回复
举报
PHP,抄的是Perl/Shell/C,设计上最大的特点就是简单实用,可不敢跟软吹秒天秒地秒空气的世界第一比.
2020-09-19 16:25
1
回复
举报
好一个 "不过是给 JS 加了类型", 张嘴就来啊.
2020-09-19 16:30
9
回复
举报
建议e神去微软应聘,取代Anders来设计语言,不过可能微软不要你,哈哈哈
2020-09-19 17:52
5
回复
举报
怎么,伤了软吹的玻璃心,开始阴阳怪气人身攻击了?
你是要丰富我的黑名单呀.
2020-09-19 20:57
1
回复
举报
这逼就是职业。net黑子。 逢.net 就黑。
2020-09-19 21:01
5
回复
举报
以前TS和VSC一更新這人就去評論黑,後面不知怎麼地就不出現了
2020-09-20 22:10
4
回复
举报
可以说那货是“职业软黑”且只懂得用非黑即白的“二分法”。在那货眼中,只要某个人不是“软黑”那就一定是“软吹”。就算是对MS实在不太有感情的人,只要不是站那货喜好的那一侧,照样会因为它的玻璃心破碎而被它划归到“软粉”里面并且称为“软吹”开展人身攻击且不自知。
这类货物用一个专门的名词应该可以概括:“杠精”。
2020-09-21 17:12
1
回复
举报
java有啥好抄的,刚出来的时候就是半残,还抄了不少delphi的语言特点
2020-09-20 17:33
2
回复
举报
如果没记错,java的不少类库,还有编译器的代码都是给borland(delphi家)编写的,当然这是比较久的事了,应该没记错
2020-09-20 17:49
2
回复
举报
就问你有什么资格喷
2020-09-21 08:46
2
回复
举报
你又有什么资格说他是世界第一?你是上帝?
2020-09-21 14:36
0
回复
举报
牛顿也只不过是被苹果砸了一下!
2020-09-21 10:22
0
回复
举报
多学点计算机基础知识比较好😊
2020-09-19 16:31
0
回复
举报
哥笑了, 你给他扣个世界第一的帽子,然后让别人骂他,你是个黑粉?
2020-09-20 10:09
3
回复
举报
子集的超集
2020-09-19 10:47
0
回复
举报
更多评论
49 评论
9 收藏
分享
返回顶部
顶部