TypeScript 诞生 10 周年


TypeScript 已经诞生 10 年了。10 年前——2012 年 10 月 1日,TypeScript 首次公开亮相。当时主导 TypeScript 开发的 Anders Hejlsberg 这样描述 TypeScript:

它是 JavaScript 的类型化超集,可被编译成常用的 JavaScript。TypeScript 还可以通过启用丰富的工具体验来极大地帮助提升生产力,与此同时开发者保持不变维护现有的代码,并继续使用喜爱的 JavaScript 库。

TypeScript is a typed superset of JavaScript that compiles to idiomatic (normal) JavaScript, can dramatically improve your productivity by enabling rich tooling experiences, all while maintaining your existing code and continuing to use the same JavaScript libraries you already love.

微软在博客中回顾了 TypeScript 刚亮相时受到的评价,大多数人对它都是持怀疑态度,毕竟这对于许多 JavaScript 开发者来说,试图将静态类型引入 JavaScript 是一个笑话——或是邪恶的阴谋。反对者则直言这是十分愚蠢的想法,他们认为当时已存在可以编译为 JavaScript 的强类型语言,例如 C#、Java 和 C++。他们还吐槽主导 TypeScript 开发的 Anders Hejlsberg 对静态类型有“迷之执着”。

当时微软意识到 JavaScript 未来将会被应用到无数场景,而且他们公司内部团队在处理复杂的 JavaScript 代码库时面临着巨大的挑战,所以他们觉得有必要创造强大的工具来帮助编写 JavaScript——尤其是针对大型 JavaScript 项目。基于此需求,TypeScript 也确定了自己的定位和特性,它是 JavaScript 的超集,将类型检查和静态分析、显式接口和最佳实践结合到单一语言和编译器中。通过在 JavaScript 上构建,TypeScript 能够更接近目标运行时,同时仅添加支持大型应用程序和大型团队所需的语法糖。

团队还坚持 TypeScript 要能够与现有的 JavaScript 无缝交互,与 JavaScript 共同进化,并且看上去也和 JavaScript 类似。

TypeScript 诞生之初的部分设计目标

  • 不会对已有的程序增加运行时开销
  • 与当前和未来的 ECMAScript 提案保持一致
  • 保留所有 JavaScript 代码的运行时行为
  • 避免添加表达式类型的语法 (expression-level syntax)
  • 使用一致、完全可擦除的结构化类型系统
  • ……

这些目标指导着 TypeScript 的发展方向:关注类型系统,成为 JavaScript 的类型检查器,只添加类型检查所需的语法,避免添加新的运行时语法和行为。

微软提到,TypeScript 拥有如今的繁荣生态离不开一个重要属性:开源。TypeScript 一开始就是免费且开源——语言规范和编译器都是开源项目,并且以真正开放的方式来运作。事实上,微软当时对外展现出的姿态并不是现在的“拥抱开源”,所以他们内部并没真正认识到 TypeScript 的开源是如何帮助它走向成功。因此有人认为,TypeScript 在很大程度上引导微软开始更多地转向开源。

现在,TypeScript 仍在积极发展和迭代改进,并被全球数百万开发者使用。在诸多编程语言排名、指数或开发者调查中,TypeScript 一直位居前列,也是最受欢迎和最常用的编程语言。


相關推薦

2023-07-01

ECharts 宣布诞生 10 周年。 ECharts 是一款基于 JavaScript 的开源可视化图表库,提供了开箱即用的 20 多种图表和十几种组件,并且支持各种图表以及组件的任意组合。 ECharts 最初由百度团队开源,并于 2018 年初捐赠给 Apache 基金

2023-10-24

10 月 19 日,Geany 发布首个版本 0.1。上周四刚好是 Geany 诞生 18 周年纪念日,官方发布了 2.0 正式版以表庆祝。 下载地址:https://www.geany.org/download/releases/ Geany 2.0 主要变化: 重构会话数据的处理方式 最低要求安装 GTK 3

2022-03-10

计、基于 Linux 的单片机计算机“树莓派”(Raspberry Pi) 诞生至今已有十年历史,目前已售出超过 4000 万台,并创造了价值 10 亿美元的市场。 树莓派在设计之初的用途是为了激发青少年的编程兴趣,让年轻人能以低价获得可

2023-07-18

Wireshark 已诞生 25 周年,项目作者 Gerald Combs 近日发文介绍了创建 Wireshark 的动机,以及一路走来的心得和经验教训。 Gerald Combs 说道,25 年前他发送了下面这封电子邮件,最终改变了自己的人生轨迹。 从邮件可以看到,项目

2022-12-04

GIMP (GNU Image Manipulation Program) 已经诞生 27 周年了。1995 年 11 月 21 日,GIMP 首次公开发布,当时它的全称为 General Image Manipulation Program,作为加州大学伯克利分校 eXperimental Computing Facility 的中长期发展项目发展。 1996 年,RMS 访问

2023-08-18

8 月 16 日,Debian 官方博客发文庆祝 Debian 诞生 30 周年。 30 年前,已故的 Debian 创始人 Ian Murdock 向 comp.os.linux.development 新闻组发送邮件,称自己完成了一个全新的 Linux 发行版,他将其命名为"The Debian Linux Release"。 他从头开始

2022-06-02

WPE WebKit (WebKit Port optimized for Embedded devices) 是面向嵌入式设备而优化的 WebKit 移植,可用于将支持大量现代 Web 技术的成熟 Web 浏览器引擎“内嵌”到嵌入式设备中。WPE 本身并不是像 Safari、Chrome 或 Firefox 等此类产品形态的 Web 浏

2022-06-25

RISC OS 是面向 ARM 架构系统设计的基于图形用户界面的电脑操作系统,由命令行界面和桌面环境组成,其名字来源于它所支持的精简指令集 RISC 架构。RISC OS 最初由 Acorn Computers 开发,搭载于他们 1987 年推出的使用了 ARM 处理器的&n

2023-06-20

ubbard 和 Rod Grimes 发布了 BSD 4.3 的分支,并为这个从 386BSD 诞生的项目选择了 “ FreeBSD ”名称。(但其实 FreeBSD 的第一个正式版本直到 1993 年 11 月才发布) FreeBSD 基金会将六月的公告留给了 FreeBSD 30 周年庆,并推出了一系列活动

2022-08-24

彩。UI 代码和预览如下图所示: 延伸阅读 Kotlin 诞生 10 周年

2023-09-29

。让我们一起走下记忆的长廊,了解我们是如何在25年前诞生的... 无论是命运还是运气,博士生 Sergey Brin 和 Larry Page 在 90 年代末斯坦福大学计算机科学项目中相遇。他们很快发现他们有着相似的愿景:使万维网更加易于访问

2023-05-25

te Cloud 版本发布 2022.07.01 基于 Vue3、Vite2、Pinia、Quasar2、Typescript、Hooks 等最新技术栈全新构建前端工程正式发布 2022.07.30 正式加入 Dromara 开源社区,项目名称由 Eurynome Cloud 更名为 Dante Cloud 2022.08.15 Dante Cloud Star 数突破 1K。 2

2024-09-24

256.5、Netplan 1.1 和 .NET 8 等。 对了,Ubuntu 24.10 也是 Ubuntu 诞生 20 周年的版本:

2022-11-19

日,他想到了一个可以避免"100"版本号的方案——在 curl 诞生 25 周年当天发布 curl 8。如此一来,既凸显了周年纪念日的地位,又体现了升级主版本号的意义,更是直接避开了"100"版本号。可谓是一步到位地实现了“既要又要还要