type
status
date
slug
summary
tags
category
icon
password
Python 已不再是数据科学领域的王者
Python 正在失去其领先地位的 5 个原因
使用 Ideogram 2.0 生成的 AI 图像
如果您正在阅读本文,那么当提及数据科学时,Python 很可能是您的首选语言,而且说实话,对此大概没人会有异议。由于其拥有出色的库,如
Numpy
、Pandas
和scikit-learn
,Python 一直是数据科学领域的霸主。但是,如果某样东西一直处于领先地位,并不意味着它会一直稳稳地占据那个位置。您可能会听到一些私下的议论;您会看到新语言的兴起——也许您会想,
Python 的统治时代是否即将终结?
好吧,在您把您的 Jupyter 笔记本朝我扔过来之前,让我把一件事说清楚:我确实认为 Python 很优秀。我不否认这一点。然而,它也并非完美无缺。它或许不会在一夜之间失去其地位,但已经出现了一些问题。
编辑: 大家好,本文反映了我的个人观点,我完全尊重其他人可能持有的不同看法。欢迎进行有益的辩论——毕竟,不同的观点是推动进步的动力!
好了,那么让我们来看看表明 Python 不会永远占据领先地位的 5 个原因!
1. 性能瓶颈:Python 的致命弱点
首先,我要谈谈这个显而易见的问题:Python 速度较慢。我很清楚您在想什么:“我们有像
NumPy
和Cython
这样的库可以提升速度。”是的,我同意您的看法,但从根本上讲,Python 是一种解释型语言,因此与 C++或 Java 等编译型语言相比,它的速度较慢。使用 Ideogram 2.0 生成的 AI 图像
欢迎来到数据科学领域,在这里,在大多数情况下,速度既不是决定一切的因素也不是破坏一切的因素,但一旦数据集增大——比如说,数太字节的实时流数据——这可能会成为一个相当大的问题。以至于开发人员已经开始从 Python 转向像 Julia 这样的语言,Julia 是为数值计算而设计的,注重性能。您能感觉到这里的变化趋势,不是吗?
如果您一直在为 Python 的速度问题而困扰,也许是时候将您的部分流程推进到 Julia 或 Rust 中,用于那些您真正需要高性能的部分。
2. 内存占用:Python 的小秘密
我不确定为什么,但对于 Python 比较占用内存这一点,媒体的关注度并不高。当使用巨大的数据集进行操作时,特别是在无法扩展的环境中工作时,Python 的内存消耗可能会失控。确实存在像
Dask
这样的工具,它有助于并行化任务并帮助管理内存,但这更多的是一种权宜之计,而不是真正的解决方案。使用 Ideogram 2.0 生成的 AI 图像
以 Rust 为例。它在数据科学领域的应用并不广泛,但由于其在处理内存和性能方面的高效性,它正在逐渐受到关注。然而,到目前为止,Python 的低效率并不是一个大问题——但随着物联网和边缘计算的兴起,由于那里的资源非常有限,这可能会成为一个转折点。
想象一下在树莓派上运行一个 Python 脚本以运行一些机器学习模型,然后由于您的脚本占用了所有可用内存而崩溃。这很令人沮丧,对吧?
3. 特定领域语言(DSL)的兴起
这可能会让你们中的大多数人感到惊讶,但特定领域语言的兴起可能会削弱 Python 的主导地位。为什么呢?在我看来,最重要的原因是随着行业的发展成熟,他们需要适合这些行业的工具。
以 R 为例。尽管 Python 在近年来超越了它,但它在统计学领域仍然具有强大的地位。而且我们不要忘记 SQL——尽管 Python 有很棒的数据处理库——但它仍然是数据库操作的首选。事实上,当数据科学家深入进行严肃的数据库查询或统计分析时,Python 往往会退居二线。
使用 Ideogram 2.0 生成的 AI 图像
另一个例子呢?Mathematica。尽管 Python 尽力通过
SymPy
在符号计算方面追赶,但 Mathematica 在数学分析和符号问题解决方面仍然比 Python 更出色。与这些更专业的工具相比,Python 也许可以被最好地描述为
什么都懂一点,但没有一项是精通的。
4. 学习曲线悖论:Python 或许过于简单
是的,我就是这么说的。Python 的普遍简单性实际上可能会带来一些问题。让我解释一下:Python 经常被称赞为具有简单的语法——一种即使是初学者也可以很快掌握的语言。但问题是——它往往会让开发人员变得自满。
正是因为您做事情的容易程度,有时会让您无法更深入地了解算法的工作原理或计算机科学的工作原理。
使用 Ideogram 2.0 生成的 AI 图像
现在出现了像 Julia 这样的语言,它是为科学计算而创建的,并且具有更直观的结构,适用于高级数学建模。
当然,Python 使事情变得容易,但有时易用性是以更深入的掌握为代价的。这就像永远骑着带辅助轮的自行车——它能起作用,但您真的会成为一个更好的骑手吗?
Python 很不错,直到您意识到您需要第二种语言才能完全理解幕后发生的事情。
5. AI 特定框架的竞争力日益增强
好的,AI 和机器学习已经是 Python 的领域有一段时间了。
TensorFlow
、PyTorch
、Keras
——您能想到的,它们都把 Python 当作自己的主要语言。但这里有趣的是:有其他专门针对 AI 的语言正在悄然兴起,它们可能会抢走焦点。
使用 Ideogram 2.0 生成的 AI 图像
例如,Apple 正在大力推动 Swift 用于机器学习,推出了 Swift for
TensorFlow
项目。为什么呢?因为 Swift 在某些 AI 任务中提供了更好的性能,并且它与 Apple 的生态系统的集成是无缝的。同时,虽然 Google 的 JAX 目前是基于 Python 的,但它为开发人员提供了加速机器学习任务的新方法,而这里的发展势头很可能会激发更多针对 AI 工作流程进行优化的特定领域语言。
Python 会退位吗?
并不是说它会被淘汰——而是 Python 明天不会消失。它仍然是编程语言中的瑞士军刀,并且有充分的理由。但是,随着数据科学领域的不断发展和多样化,这种优势似乎出现了一些问题。随着更多专门的工具的出现,以及更快、更高效的语言的出现,这些语言是专门为特定领域设计的,Python 的主导地位可能不像以前那样坚不可摧。
使用 Ideogram 2.0 生成的 AI 图像
Python 在数据科学中仍然是王者吗?目前,是的。但它面临着前所未有的竞争,如果它不能适应,我们可能会见证它被取代。正如俗话所说:
代码的王座只有在下一个突破出现时才会稳定。
Loading...