如果你正在读这篇文章,那么当有人谈论数据科学时,Python 很有可能是你的首选语言,老实说,没有人会对此有异议。Python 凭借其出色的库(例如NumpyPandasscikit-learn)一直是数据科学王国的王者。

但是,如果某种语言一直处于领先地位,并不意味着它永远处于安全地位。你听到窃窃私语;你看到新语言的兴起——也许你会想,

Python 的时代已经不多了?

好吧,在你把你的 Jupyter 笔记本扔到我脸上之前,让我澄清一点:我确实认为 Python 是 GOAT。我不否认这一点。然而,它也不是没有缺陷的。它可能不会在一夜之间失去地位,但已经出现了裂缝。

编辑:大家好,本文仅代表我个人观点,我完全尊重其他人的不同意见。欢迎进行健康的辩论——毕竟,不同的观点才是推动进步的动力!

好吧,让我们来看看 Python 不会永远占据主导地位的 5 个原因!

1. 性能瓶颈:Python 的致命弱点

首先,我要从显而易见的一点开始:Python 很慢。我完全知道你在想什么:“我们有这样的库NumPyCython可以加快一切速度。”是的,我同意你的观点,但从本质上讲,Python 是一种解释型语言,因此与 C++ 或 Java 等编译型语言相比,它的速度较慢。

使用 Ideogram 2.0 生成 AI

欢迎来到数据科学王国,在这里,速度既不是决定因素,也不是决定因素,但一旦数据集增长(比如,TB 级的实时流数据),速度就会成为一个相当大的问题。开发人员已经开始从 Python 转向 Julia 等语言,这些语言在设计时就考虑到了数值计算的性能。你感受到了这里的变化之风,不是吗?

如果您一直在与 Python 的速度问题作斗争,那么也许现在是时候将您的管道的部分内容推向 Julia 或 Rust 了,以满足您真正需要的速度要求。

2. 内存占用:Python 的肮脏小秘密

我不知道为什么,但媒体对 Python 占用内存的关注并不多。在处理巨大的数据集时,尤其是在无法扩展的环境中,Python 的内存消耗可能会失控。确实存在这样的实用程序,Dask可以帮助并行化任务并帮助管理内存,但这更像是一种变通方法,而不是真正的解决方案。

以 Rust 为例。它在数据科学领域并没有被广泛使用,但由于其处理内存和性能的效率,它正在获得越来越多的支持。不过,到目前为止,Python 的低效率还不是一个大问题——但随着物联网和边缘计算的兴起,这可能是一个转折点,因为那里的资源非常有限。

想象一下,在 Raspberry Pi 上运行 Python 脚本来运行某个机器学习模型,然后它崩溃了,因为你的脚本耗尽了所有可用内存。令人沮丧,对吧?

快速暂停

如果您渴望通过基于项目的实际操作示例学习 Python,Eric Matthes 撰写的《PYTHON CRASH COURSE》 是世界上最畅销的编程书籍,迄今为止已售出超过1,500,000册!

3. 领域特定语言(DSL)的兴起

这对你们大多数人来说可能很令人震惊,但领域特定语言的兴起可能会削弱 Python 的主导地位。为什么?根据我的判断,最重要的原因是随着行业的成熟,他们需要适合这些行业的工具。

以 R 为例。尽管 Python 近年来超越了 R,但它仍然是统计领域的强者。我们不要忘记 SQL — — 尽管 Python 拥有出色的数据处理库 — — 它仍然是数据库操作的首选。事实上,当数据科学家深陷于严肃的数据库查询或统计分析时,Python 通常会退居次要地位。

使用 Ideogram 2.0 生成 AI

另一个例子是 Mathematica。尽管 Python 在符号计算方面尽了最大的努力SymPy,但 Mathematica 在数学分析和符号问题解决方面仍然胜过 Python。

与这些更专业的工具相比,Python 可能最好被描述为

样样通,样样松。

4.学习曲线悖论:Python 可能太简单了

是的,我说过。Python 的简单性实际上可能很伤人。让我解释一下:Python 经常被吹捧为语法简单 — — 即使是初学者也能很快掌握的语言。但问题就在这里 — — 它往往会让开发人员自满。

做事非常轻松,有时这会使您无需更深入地研究算法的工作原理或计算机科学的工作原理。

现在输入像 Julia 这样的语言,它是为科学计算而创建的,并且具有更直观的结构,可用于高级数学建模。

当然,Python 让事情变得简单,但有时易用性是以牺牲更深的掌握为代价的。这就像永远骑着带训练轮的自行车——这很有效,但你真的能成为一个更好的自行车手吗?

Python 很棒,直到你意识到你需要第二种语言才能完全理解其底层发生的事情。

5. 人工智能专用框架竞争日趋激烈

好吧,人工智能和机器学习现在已经成为 Python 的游乐场。TensorFlow,,PyTorch——Keras无论你说出什么,它们都把 Python 称为家。

但事情变得有趣了:其他专门针对人工智能的语言正在悄然兴起,它们可能会抢走风头。

例如,苹果公司正在大力推广 Swift,将其用于机器学习,并推出了 Swift forTensorFlow项目。为什么?因为 Swift 在某些 AI 任务中表现更佳,而且它与苹果生态系统的集成非常无缝。

与此同时,谷歌的 JAX(虽然目前基于 Python)为开发人员提供了加速机器学习任务的新方法,而这种势头可能会激发更多领域特定语言来优化 AI 工作流程。

Python 正在逐渐衰落吗?

不是因为它会成为阻碍——而是 Python 不会在明天消失。它仍然是编程语言中的瑞士军刀,这是有充分理由的。但随着数据科学领域的发展和多样化,这把盔甲似乎显示出了裂缝。随着更多专业工具的出现以及专为特定领域设计的更快、更高效的语言的出现,Python 的主导地位可能不再像以前那么不可动摇。

Python 仍然是数据科学领域的王者吗?目前来看,是的。但它面临的竞争比以往任何时候都要激烈,如果它不能适应,我们可能就会目睹它的衰落。正如俗话所说:

代码的王座只有下一次突破才能稳固。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。