TypeScript

Turbo 8 正在放弃 TypeScript

从各方面来看,TypeScript 对微软来说都取得了巨大的成功。我见过很多人因使用可由编译器检查的显式类型而欣喜若狂。但我从来都不是粉丝。五分钟后不会,五年后不会。因此,我非常高兴地宣布我们将从Turbo 8 的下一个大版本中删除 TypeScript。

事实上,我实际上更喜欢 JavaScript。我什至可以说这是继 Ruby 之后我第二喜欢的语言。是的,虽然是遥远的第二秒,但仍然是第二秒。但情况并非总是如此。但是,当我们在 JavaScript 中获得了适当的类,以及自 ES6 以来出现的所有其他改进之后,编写代码就变成了一种真正的乐趣。

我仍然不认为 JavaScript 非常适合我们在网络应用程序的服务器端所做的大部分工作,但完全尊重和欣赏其他人的不同感受。对我来说,我们现在拥有如此强大的 JavaScript,这简直是我们的幸运,浏览器无需任何编译器就可以解释它。

TypeScript 对我来说只是阻碍。不仅因为它需要显式的编译步骤,还因为它用类型体操污染了代码,这给我的开发体验增添了很少的乐趣,而且常常带来相当大的悲伤。应该容易的事情变得困难,困难的事情变得“任何”。不,谢谢!

不过,这并不是请求改变任何人或任何事。正如我在编程类型和心态中讨论的那样,通常很少有程序员有兴趣改变他们对打字的看法。大多数程序员发现自己对打字有强烈的兴趣,或者在他们职业生涯的早期,然后用剩下的时间向自己和他人合理化“正确的选择”。

这是 JavaScript 与 TypeScript 二分法的魔力之一,完全归功于 TypeScript 团队意识到完全接管 JavaScript 永远不会发生,因此必须从一开始就考虑到完全的兼容性。Turbo 8 放弃 TypeScript 并不意味着您不能在其中编写客户端代码,或使用任何其他使用它的库。我们可以混合搭配,这真是太棒了。

TypeScript 这十年

今天是 TypeScript 的生日!但是这个生日很特别——10 年前的今天,2012 年 10 月 1 日,TypeScript 首次公开亮相。

 

早期的情况

当 TypeScript 首次亮相时,有很多人持怀疑态度,这也是可以理解的。对于一些 JavaScript 用户来说,一个试图将静态类型引入 JavaScript 的团队可能听起来像是一个邪恶的组织,甚至可视为一个阴谋或笑话。

但是这些功能是有价值的,对吗?类型检查,在你保存文件之前捕捉 Bug,并获得丰富的编辑器功能,如代码完成、导航和重构?我们知道公司内外部的团队在处理复杂的 JavaScript 代码库时遇到了巨大的挑战,而且我们知道 JavaScript 将被广泛使用。因此,谁不希望有强大的工具来帮助编写它呢?对于团队来说,TypeScript 初心未变,一如最初在发布 TypeScript 时所述的那样,“在大型应用开发中使用 JavaScript 开发!"。…

为什么程序员如此热爱TypeScript ?

Python 是我的谋生工具,我很喜欢它。尽管我对这门语言有一些 批评的地方,但我还是强烈推荐给任何开始从事数据科学的人。反正在这个领域中,比较有经验的人往往都是 Python 的布道师。

然而,这并不意味着你不能时不时地挑战你所在领域的极限,例如探索 不同的编程范式 或新的编程语言。

Python 的竞争对手名单很长:Rust、Go、Scala、Haskell、Julia、Swift、C++、Java 和 R 都可以在其中找到条目。在如此拥挤的领域里,JavaScriptTypeScript 没有得到那么多的认可,这是可以理解的。

但这并不意味着 TypeScript 不是通用编程领域的主流。然而,在数据科学家群体中,它似乎从来就没有特别受欢迎过。

你可能会得出这样的结论,TypeScript 可能不是数据科学的理想选择。但不要急着下结论。尽管它可能不适合数据科学的每一部分,但在某些领域上,它比 Python 有明显的优势。

如果你碰巧在这些领域之一工作的话,那么值得给 TypeScript 一个机会。如果你不这么做的话,谁知道你的下一步会在哪里呢?这个领域发展得如此之快。如果你能将眼光放远一些,你就有了竞争优势。

TypeScript:是一种 JavaScript,但类型安全

大约十年前,Microsoft 的软件工程师注意到,JavaScript 已经不能满足他们所有的需求了。一方面,该语言发展迅速,并增加了非常有趣的新特性。另一方面,管道中的任何功能都不能解决一个根本性的问题:JavaScript 对于小型程序来说非常棒,但用它来编写整个应用程序却一团糟。

解决这一问题有几种可能性:例如,可以使用不同的编程语言,或者使用更好的语法重新设计 JavaScript。Microsoft