当前位置: 首页 > 科技观察

Python开发者,请不要小看TypeScript!_1

时间:2023-03-13 23:35:22 科技观察

作者|AriJoury  翻译|康绍景  审校|Noe  Python是我的生计,我喜欢它。尽管我对该语言有一些看法,但我强烈建议那些刚接触数据科学的人尝试使用Python。无论如何,在该领域拥有丰富经验的人往往是Python布道者。  但是,这并不意味着您不能挑战您所在领域的限制,例如通过探索不同的编程范式或新语言。  大约十年前,Microsoft的软件工程师注意到JavaScript不再足以满足他们的所有需求。一方面,这门语言发展很快,添加了非常有趣的新特性,管道中的所有特性都解决不了一个根本问题,JavaScript写小程序还好,但写整个应用程序就乱七八糟了。  解决这个问题有几种可能性:例如,使用不同的语言,或者用更好的语法重新设计JavaScript。Microsoft的开发团队采用了不同的方法:他们通过扩展JavaScript创建了TypeScript。通过这种方式,他们能够使用JavaScript的所有新功能,同时摆脱对大型项目不利的内容。  与Python类似,JavaScript是在运行时编译的,这意味着你需要运行代码来调试它。另一方面,TypeScript是经过编译的。这提供了额外的安全层,因为程序员可以在执行之前获取有关错误的信息。对于Python或JavaScript等非编译型语言,一旦发现代码未按预期运行,查找错误可能会非常耗时。  但是,JavaScript和TypeScript之间的主要区别在于类型检查器。编译后,每个TypeScript程序都会检查数据类型是否相互一致。  这听起来可能很简单,但是当你在处理一个有数千行代码的项目时,你会惊叹不已,感谢上帝。  还有一些其他的区别,比如TypeScript有匿名函数和异步函数。匿名函数是函数式编程的一个关键特性,可以使程序在大数据负载下更高效。  异步编程在需要并行执行多个操作或处理不应中断后台进程的I/O操作时非常有用。异步编程在Python和Javascript中是可能的,但在TypeScript中它是从核心内置的。TypeScript是javaScript的超集  Python的竞争对手名单很长:Rust、Go、Scala、Haskell、Julia、Swift、C++、Java和R都在它上面找到了一个条目。可以理解,JavaScript和TypeScript在如此拥挤的领域没有得到那么多的认可  这并不意味着TypeScript不是通用编程世界的主流。然而,它从未在数据科学家中特别受欢迎。  由此我们可以得出结论,TypeScript可能不适合数据科学。但不要着急。虽然它可能并不适合数据科学的每个部分,但在某些领域它比Python具有明显的优势。  如果你恰好在这些领域中工作,那么一定要试试TypeScript。如果您还没有尝试过,谁知道您接下来会到达哪里?该领域发展迅速。如果你能看得更远,你就有了竞争优势。 TypeScript是如何流行起来的  如果你讨厌JavaScript中不断发生的不合逻辑但又搞笑的WTF时刻,那么我有个坏消息要告诉你:你也会在TypeScript中看到所有这些东西。  但是这些语法问题并不是程序员喜欢TypeScript的原因。相反,它归结为采用一个伟大的产品——JavaScript——并添加更强大的东西——静态类型的想法。  当然,我并不是说JavaScript总是很棒,或者静态类型总是最好的做事方式。但是对于构建大型Microsoft风格的应用程序,它似乎工作得很好。  也就是说,TypeScript的流行程度仅次于JavaScript。这可以归因于年龄:TypeScript已经8岁了。但是JavaScript的历史是TypeScript的三倍!Python也是该领域的老前辈,已经存在了30年。  虽然TypeScript出现的时间不长,但在某些领域是不可避免的。它也增加了它的知名度。例如,当谷歌在2016年宣布Angular.js将与TypeScript一起运行时,StackOverflow上的标签数量激增。StackOverflowtrending  TypeScript仅具有Python和JavaScript的一小部分吸引力。然而,在某些领域不可避免的是 ,其中TypeScript可能比Python具有优势  JavaScript因其无处不在而广受欢迎。您可以在服务器、浏览器或任何您喜欢的地方运行它。一次编译,随处运行。当它第一次出现时,就像变魔术一样。  因为它是建立在JavaScript之上的,所以TypeScript也有这种魔力。Python也可以!当然,它的实现略有不同,因为它使用解释器而不是虚拟机。但这并没有改变TypeScript在“随处运行”方面与Python不相上下的事实。  泛型和静态类型等特性使使用TypeScript进行函数式编程比使用Python更容易。这可能是一个优势,因为由于数据科学、并行编程、异步编程等的发展,对函数式代码的需求正在增长。  另一方面,Python也添加了越来越多的函数式编程特性。在数据科学、机器学习等领域,Python处于最前沿。  这样可以实现并行编程和异步编程。虽然这可以用两种语言完成,但有一个很大的区别:在Python中,需要特定的库才能完成任务。在TypeScript中,所有库都是与核心异步的。由于后者在默认情况下更具功能性,因此通常更容易进行并行编程。  换句话说,如果您是一名参与异步流程和并行计算的Python开发人员,您可能想尝试一下TypeScript。 是什么让TypeScript对数据科学如此重要——或者不是  许多数据科学家处理异步和并行编程。首先用TypeScript而不是Python编写可能是个好主意,但这是否是个好主意取决于许多因素。  首先,TypeScript不会以直接的方式进行列表理解,这在处理大型数组时可能会很烦人,例如。  第二,TypeScript没有原生的矩阵运算Python有NumPy等很多工具,用起来会很简单。因此,如果项目中涉及到大量的线性代数,此时你可能不想使用TypeScript。  第三,如果你刚接触JavaScript,肯定会有迷茫的时候。由于TypeScript是建立在JavaScript之上的,它继承了它所有的特性——好的、坏的和WTF。但是,老实说,遇到这些现象也很有趣......  最后,重要的是要考虑到编程不是一个独立的职业。在数据科学家中还不是很流行。因此,您可能不会在StackOverflow和其他问题上找到那么多有用的答案。  话虽如此,如果您正在从事一个没有大量大数据和矩阵运算的项目,您可能想尝试一下TypeScript,尤其是当它涉及一些并行或异步编程时。  没有一种语言可以满足所有的项目要求。当然,有些语言比其他语言更有趣或更直观。当然,你喜欢的工具也很重要,这会让你度过难关。因此,最好从TypeScript或Python等流行语言开始。  但归根结底,你不应该像宗教一样固守一种语言。编程语言是工具。哪种工具最适合你取决于你想用它做什么。取决于它的作用。  如今,Python对于数据科学非常重要。但在一个快速发展的领域,您需要能够看得更远。随着任务的变化,工具也会发生变化。  另一方面,TypeScript有一个流行的前端Web、后端Node和移动开发社区。有趣的是,这些领域与数据科学的交叉比人们想象的要多。尤其是Node,越来越受到数据科学家的关注。  当然,这并不意味着你应该一次涉猎十几种语言。精通一门语言是很有价值的。但是对其他语言和技术保持好奇,从长远来看会帮助你保持领先。  所以,当你想尝试新事物的时候。请不要犹豫,为什么不使用TypeScript?  原标题:嘿Python开发者,不要小看TypeScript  译者介绍  康少京,51CTO社区编辑,目前从事通信行业,底层驱动开发职位,有学过数据结构,Python,现在对操作系统、数据库等相关领域比较感兴趣。