首页 > 自考资讯 > 自考知识

程序员喜欢编程吗,程序员为什么喜欢特斯拉

头条共创 2024-07-05

本文最初发表于Towards Data Science博客,经原作者Rhea Moutafis许可翻译并分享于InfoQ中文站。

Python 是我的面包和黄油,我喜欢它。尽管对这种语言存在一些批评,但我强烈推荐给任何想要进入数据科学的人。无论如何,有经验的人往往会成为该领域的Python布道者。

然而,这并不意味着您不应该时不时地突破您所在领域的限制,例如考虑不同的编程范例或新的编程语言。

Python 的竞争对手名单很长,Rust、Go、Scala、Haskell、Julia、Swift、C++、Java 和R 都可以在其中找到入口。在如此拥挤的领域,难怪JavaScript 和TypeScript 没有得到那么多的认可。

但这并不意味着TypeScript 不是一般编程的主流。然而,这在数据科学家社区中似乎并不特别受欢迎。

您可能会得出结论,TypeScript 可能不适合数据科学。然而,没有必要急于下结论。虽然它并不适合数据科学的所有部分,但在某些领域它比Python 具有明显的优势。

如果您在这些领域工作,那么值得给TypeScript 一个机会。不然谁知道你下一步会去哪里?这个领域发展非常迅速。着眼长远可以为您带来竞争优势。

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

大约10 年前,Microsoft 的软件工程师意识到JavaScript 不再满足他们的所有需求。另一方面,该语言正在快速发展,并且正在添加非常有趣的新功能。另一方面,管道的根本问题还没有得到解决。 JavaScript 非常适合小型程序,但编写整个应用程序可能很乏味。

有多种方法可以解决此问题。例如,您可以使用不同的编程语言或使用更好的语法重新设计JavaScript。微软的开发团队采取了不同的方法。我通过扩展JavaScript 创建了TypeScript。通过这种方式,我们能够利用JavaScript 的所有新功能,同时摆脱那些不适合大型项目的功能。

与Python 一样,JavaScript 也是在运行时编译的。这意味着您需要运行和调试代码。另一方面,TypeScript 是经过编译的。通过允许程序员在执行时间之前获取有关潜在错误的信息,这提供了额外的安全层。对于Python 和JavaScript 等非编译语言,在您意识到代码未按预期运行后,可能需要一些时间来识别错误。

然而,JavaScript 和TypeScript 之间的主要区别在于类型检查器。在编译时,所有TypeScript 程序都会检查数据类型是否彼此一致。

手动完成这些事情似乎是理所当然的。但是当您在项目中处理数千行代码时,您会感谢上帝。

还有一些其他差异。例如,TypeScript 有匿名函数和异步函数。匿名函数是函数式编程的一个重要特性,可以使您的程序在加载大数据时更加高效。

当您需要并行执行多个操作或处理不应中断后台进程的I/O 操作时,异步编程非常有用。异步编程在Python 和JavaScript 中是可能的,但在TypeScript 中它内置于核心中。

53b9ebe56e034aa3b3be900facdafdd9~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720786996&x-signature=ziP7K3NeR4iACt0OPGtWijXWeUQ%3DTypeScript 是JavaScript 的超集

TypeScript 是如何流行起来的

如果您讨厌JavaScript 中经常发生的不合逻辑但又搞笑又令人愤怒的时刻,我们有坏消息要告诉您。所有这些也将在TypeScript 中看到。

然而,这些小语法问题并不是程序员如此喜爱TypeScript 的原因。相反,它归结为采用好的产品(JavaScript)并添加更好的东西(静态类型)的想法。

当然,我并不是说JavaScript 总是更好或者静态类型总是最好的方式。然而,在构建大型Microsoft 风格的应用程序时,这似乎非常有效。

话虽如此,TypeScript 仍然只是JavaScript 流行的冰山一角。这与发布时间有关。 TypeScript 已有八年历史,但JavaScript 的历史是其三倍。 Python 也是这个领域的老古董,有30 年的发布历史。

尽管TypeScript 还很年轻,但也有一些领域是不可避免的。这使得它更受欢迎。例如,当Google 在2016 年宣布Angular.js 和TypeScript 时,StackOverflow 上的TypeScript 标签数量呈爆炸式增长。

4914ce43372643b7a79dbe7a59a32b46~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720786996&x-signature=aoVMI6NJTsHD%2Fu9rlanaESsDeLA%3DTypeScript 只是Python 和JavaScript 魔力的一部分。然而,在某些领域使用TypeScript 是不可避免的。

TypeScript 在什么地方比 Python 更有优势

JavaScript当时很流行,因为它可以在任何地方运行。您可以在服务器、浏览器或您喜欢的任何地方运行它。编译一次,到处工作。当它第一次出现时,就像魔法一样。

TypeScript 是基于JavaScript 构建的,因此它也继承了这一魔力。 Python 也是如此!当然,Python 实现有点不同,因为它使用解释器而不是虚拟机。但事实是TypeScript 和Python 是等价的,因为它们可以编写一次并在任何地方运行。

泛型和静态类型等功能使TypeScript 中的函数式编程比Python 中更容易。这可能是一个优势。这是因为数据科学、并行编程、异步编程等的进步正在增加对函数式代码的需求。

另一方面,Python 继续添加函数式编程特性。当谈到数据科学、机器学习等时,Python 走在最前沿。

这给我们留下了并行编程和异步编程。两种编程语言都可以完成这两项工作,但有一个主要区别。 Python 需要使用特定的库来执行任务。在TypeScript 中,所有库都与内核异步。后者默认更通用,使并行编程更容易一些。

换句话说,如果您是一位使用异步进程和并行计算的Python 开发人员,您应该尝试TypeScript。

TypeScript 适合数据科学吗?

许多数据科学家都使用异步或并行流程。您可能已经在考虑在下一个项目中使用TypeScript 而不是Python。然而,这是否是一个好主意取决于许多其他因素。

首先,TypeScript 没有一种简单的方法来进行列表推导。这可能会令人沮丧,例如在处理大数据时。

其次,TypeScript 没有原生矩阵运算。 Python 有许多工具可以让这一切变得更容易,包括NumPy。因此,如果您的项目涉及大量线性代数,您可能不想使用TypeScript。

再说一次,如果您不太熟悉JavaScript,您几乎肯定会感到困惑。由于TypeScript 是基于JavaScript 构建的,因此前者继承了后者的所有功能:好的、坏的和讨厌的。不过说实话,遇到这样的现象还是很有趣的……

最后,您还应该考虑到编程并不是一个单独的职业。数据科学领域有一个庞大的Python 社区,可以提供支持和建议。但目前,TypeScript 在数据科学家中并不是很受欢迎。因此,您可能无法在StackOverflow 或其他地方找到您的问题的有用答案。

然而,如果你想开始一个没有大量数据或矩阵运算的小项目,你绝对应该尝试一下TypeScript。对于并行和异步编程尤其如此。

底线:清楚在何处使用你的工具

并非所有任务都有语言。当然,有些语言比其他语言更有趣或更直观。当然,热爱你的工具很重要。这将帮助您在遇到困难时继续前进。因此,从TypeScript 或Python 等流行的编程语言开始并不是一个坏主意。

但归根结底,你不应该像宗教一样坚持一种编程语言。编程语言只是工具。哪种工具最适合您主要取决于您想用它来做什么。

如今,Python 对于数据科学界非常重要。然而,在一个快速发展的领域,我们需要看得更远。随着任务的变化,工具也会发生变化。

另一方面,TypeScript 拥有一个活跃的前端Web、后端节点和移动开发社区。有趣的是,这些领域与数据科学的交叉程度比您想象的要多。尤其是,Node 正在获得数据科学家的青睐。

当然,这并不意味着你应该同时涉足十几种编程语言。真正精通一门编程语言具有巨大的价值。但从长远来看,你对其他语言和技术的好奇心将帮助你保持领先地位。

因此,如果您想尝试新事物,请不要犹豫。那么为什么不尝试一下TypeScript 呢?

作者介绍:

Lea Moutafis,攻读暗物质物理学博士学位。我喜欢艺术、音乐和美丽的事物。

原文链接:

https://towardsdatascience.com/why-developers-love-typescript-every-bit-as-much-as-python-687d075cfb5e

参考:

TypeScript 之父:JS 在害怕开源而不是竞争对手的微软文化中艰难生存- InfoQ

Deno 内部代码禁用TypeScript,揭示了5 个具体原因- InfoQ

关注我,转发这篇文章,私信我“获悉”即可免费获得价值4999元的InfoQ迷你书。点击文末“了解更多”即可访问InfoQ官方网站。获取最新资讯~

版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。

猜你喜欢