TypeScript 之父:Linux 不是 Windows 的威胁,JavaScript 也不是竞争对手
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 的能力。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
华为隆重发布智能微模块5.0解决方案
【51CTO.com原创稿件】2020年9月17日,以“引领能源数字化,建设绿色智能世界”为主题的华为数字能源中国行2020·北京站在国贸大酒店成功举行,大会现场精彩纷呈,500多名嘉宾到场见证了这场盛会,共话“新基建”机遇下能源数字化、智能化转型。会上华为正式发布了全新模块化数据中心解决方案——智能微模块 5.0。 会议现场 华为数字能源助力千行万业数字化转型 北京市经济和信息化局总工程师顾瑾栩致辞时指出,“新基建”作为引领经济转型的重要动力和新一代中国信息高速公路的重要引擎,对国家经济和科技产业的重要性和长期价值不言而喻。在“新基建”机遇下,能源行业的数字化已经迫在眉睫。“所以此次峰会的举办正恰逢其势,也恰逢其时。” 顾瑾栩表示,华为作为“新基建”的领跑者,在联接、AI、云、计算等领域处于领先的位置,因此希望华为能够充分发挥其数字化技术的优势,为能源产业带来新的变化,为北京市的城市发展提供助力。 北京市经济和信息化局总工程师 顾瑾栩 华为北京总经理刘阳在致辞时表示:“随着‘新基建’的稳步推进,数字经济成为全社会关注的焦点。”他强调,华为之所以举办数字能源中国行活动,就是希望通过数字...
- 下一篇
专访 PMC,开源项目 Apache Pulsar 如何挑战 Kafka?
开源流数据公司 StreamNative 近期宣布完成数百万美元 Pre-A 轮融资,日前正式加入 CNCF。其创始团队成员是 Apache Pulsar、Apache BookKeeper 项目的原生核心开发者,StreamNative 也被称为开源消息系统基础设施 Pulsar 背后的公司。(本文中 Pulsar、BookKeeper 分别指代 Apache Pulsar、Apache BookKeeper) StreamNative 是一家基于 Pulsar 的商业公司,为企业提供云原生的实时消息和流数据处理技术,帮助企业从实时数据中挖掘商业价值。Pulsar 是 Yahoo 内部在 2012 年为构建统一消息平台而构建的,采用分层分片的系统架构。上层 Pulsar Broker 提供无状态的服务层;底层 BookKeeper 提供高性能、低延迟和强一致性的 IO 服务。 在今年 6 月的 Pulsar Summit 中,Splunk 和 Yahoo 做了测试和分析:Pulsar 帮助 Splunk 将成本降低了 1.5 - 2 倍,延迟降低了 5 - 50 倍,运营成本降低 2...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8编译安装MySQL8.0.19
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题