Python领先编程语言之战:未来的趋势和挑战

发表时间: 2024-12-29 22:47

2024 年,Python 巩固了其在人工智能领域的主导地位,Java 证明了其企业持久力,Rust 在内存安全编程方面取得进展,标志​着全球三种领先编程语言的变革之年。

2024 年是编程语言大发展的一年。Python 在人工智能/机器学习应用中的使用率上升,Java 在企业应用开发中继续占据主导地位,Rust 成为内存安全开发的首选语言。

以下是 2024 年的一些亮点。

Python 飞得更高

在编程语言中,Python目前发展势头迅猛。它很可能成为TIOBE 编程语言指数中 2024 年的年度语言。这一成就由在给定年份评级增幅最高的语言实现。Python 在一年内的评级增幅为 10%。紧随其后的是 Java 和 JavaScript,增幅分别为 1.73% 和 1.72%。

TIOBE Software 创始人兼首席执行官Paul Jansen指出,这些语言都实现了“正”增长。“但与 2024 年 Python 的巨大飞跃相比,这似乎微不足道,”他说。“由于 Python 对 AI 和数据挖掘的支持、庞大的库集和易学性,Python 势不可挡。”

人工智能和生成技术的主导地位

IDC 分析师Arnal Dayaratna向 The New Stack 表示, Python 仍然是人工智能和机器学习开发的领先语言,尤其是在生成式人工智能技术的快速发展之下。

Dayaratna 表示:“ TensorFlowPyTorch等框架以及Hugging Face 的Transformers等库继续主导生成式 AI 开发者生态系统,使开发者能够快速构建和部署自然语言处理、计算机视觉和生成模型训练等领域的高级解决方案。”“Python 的简单性和与各种数据科学工具的集成允许快速进行原型设计和部署,确保其成为构建下一代 AI 应用程序的组织的首选语言。”

稳定的生态系统

与此同时,Anaconda联合创始人兼首席人工智能和创新官Peter Wang表示,他将见证 Python 生态系统在 2024 年趋于稳定。Anaconda提供企业级软件包管理作为PyPI的替代方案。

王说:“Python 仍然是一种非常强大且出色的数据分析语言……它显然是人工智能的语言,我们非常期待看到明年它将为我们带来什么。”

Talk Python 的创始人兼Python 软件基金会 (PSF)研究员Michael Kennedy于 12 月 10 日在JetBrains 的PyCharm 博客上发表了一篇内容丰富的文章,介绍了2024 年 Python 的发展状况。

“几年前,Python 成为 Stack Overflow 上最受欢迎的语言,”Kennedy 写道。“然后,Python 跃升至 TIOBE 指数上的第一大语言。目前,Python 的受欢迎程度是该指数上第二受欢迎的语言(C++)的两倍!最重要的是,2024 年 11 月, Github 宣布 Python 现在是 GitHub 上使用最多的语言。”

近期动态

在 Python 社区最近的举措中,王先生表示,他认为合并的多线程 Python 支持(删除全局解释器锁 (GIL))是关键。尽管默认情况下不启用删除功能。他还表示,为核心 Python 解释器添加WebAssembly 后端支持也很重要。

此外,“Python 打包生态系统仍然很有趣,”Wang 告诉 The New Stack。“它可以是一篮子愤怒的猫,或者随便你怎么称呼它。”

然而,他指出,在 Python 包世界中,uv(一个用 Rust 编写的快速 Python 包和项目管理器)“确实已经获得了很多关注和关注。

但还有其他项目,如PDM、Hatch和Poetry,它们仍在继续发展并且也有自己的追随者。”

此外,尤其是今年,Nvidia等大公司纷纷尝试让 Python 打包变得更好——部分原因是他们拥有如此庞大的软件包来支持 AI 和 ML 用例。“当你将 GPU 支持代码放入这些软件包中时,它们会变得非常非常大,”Wang 说。

受欢迎是有代价的

Python 已经开始发现更多恶意行为者试图攻击用该语言构建的应用程序。

“我们看到供应链攻击持续增长,”王说。“现在 Python 是排名第一的语言……流行也有其弊端,因此越来越多的人开始发起攻击。”

王表示,Python 的志愿者运营基础设施与其日益重要的全球基础设施(尤其是在安全和软件包管理方面)之间的矛盾正在显现。不过,他补充说,双重身份验证是确保软件包安全控制的一种选择。

快速采用

肯尼迪在他的博客文章中写道:“高达 41% 的 Python 开发人员使用 Python 的时间不到两年。”

GitHub 对 Python 增长的洞察表明,“过去几年 Python 的持续增长——以及 Jupyter Notebooks 的增长——可能表明 Python 开发人员在 GitHub 上的活动已经超越了传统的软件开发,”他写道。

关于 Python 框架,他写道:“63% 的 Web 开发人员使用Django,而 42% 的开发人员使用Flask。另一方面,数据科学家更喜欢 Flask 和 FastAPI,而不是 Django。”

Java:王者依旧

经过近 30 年,Java仍然是许多企业系统的命脉,而且这种主力编程语言没有丝毫放缓的迹象。

Java 将于 2025 年 5 月迎来 30 岁生日,在包括TIOBE 指数在内的多份报告中,它仍然位列最受欢迎的三种语言之列。

Java 如何保持相关性

甲骨文 Java 平台高级副总裁兼 OpenJDK 管理委员会主席 Georges Saab 告诉 The New Stack:“强类型、良好的抽象、核心库、内存安全性能、可观察性和安全性以及广泛的第三方库、工具和 SDK 支持继续使 Java 成为企业的强大选择,并且由于这些原因,2024 年 Java 的增长将不会结束。 ”

此外,2024 年还将发布两个按时可预测的 Java 平台版本,即JDK 22和JDK 23。这些版本继续提高企业开发人员的性能和生产力,并提供有利于使用 Java 进行 AI 集成的用户的功能。

“一个很好的例子就是JDK 22 中发布的外部函数内存 API ,它使得与外部函数的交互变得更容易、更快、更安全,以及后来启动的巴比伦计划,该计划旨在将 Java 的覆盖范围扩展到外部编程模型,例如在 GPU 上运行的模型,”Saab 说。

Java 在人工智能和机器学习中的应用

Java 平台提供商Azul副首席技术官Simon Ritter向 The New Stack 表示,Java 通过不断发展以满足现代软件开发的需求,继续证明其作为领先编程语言的弹性和相关性。

“2024 年,Java 取得了重大进展,进一步巩固了其在人工智能、机器学习云计算等关键领域的地位,”Ritter 表示。“ Java 21中的虚拟线程和结构化并发等功能彻底改变了性能和可扩展性,使开发人员能够更高效地构建高性能并发应用程序。增强的工具(例如改进的Visual Studio Code集成)简化了工作流程,提高了开发人员的工作效率,并为更复杂的人工智能实现铺平了道路。”

与此同时,Java 强大的生态系统也取得了关键发展,使其成为人工智能和机器学习的杰出平台。

Ritter 表示:“ Deep Java Library (DJL)和langchain4J等库为构建 AI 解决方案提供了强大的工具,同时与AWSGoogle Cloud 等云原生平台的无缝集成支持大规模分布式 AI 应用程序。”

此外,量子安全加密等进步解决了未来的安全挑战,并确保 Java 仍然是保护敏感 AI 数据的可靠选择。

“凭借这些创新,”Ritter 表示,“Java 将继续在企业应用、数字化转型和尖端AI/ML解决方案领域保持领先地位,证明了其作为下一代技术平台的适应性和实力。”

适用于企业和关键任务系统的 Java

在谈到 Java 的持续现代化和企业重点时,IDC 的 Dayaratna 表示,随着 9 月 JDK 23 的发布,Java 巩固了其作为企业和关键任务应用程序基石的地位。

Dayaratna 告诉 The New Stack: “此最新功能版本引入了多项增强功能,包括对虚拟线程的改进、垃圾收集的改进以及扩展的模式匹配功能。”“虚拟线程最初在早期迭代中通过Project Loom引入,它已成为简化高并发应用程序开发的重要工具,可显著提高开发人员的工作效率。

“这些进步使 Java 更适合现代云原生架构,同时保持了对传统系统至关重要的向后兼容性和可靠性。Java 通过 JDK 23 等创新不断发展,凸显了其在为企业提供可扩展且安全的解决方案方面具有持久的重要性。”

Eclipse 基金会通过Jakarta EE等项目为企业 Java 开发人员提供支持,同时还领导 Temurin 和 Adoptium 项目,该基金会执行董事Mike Milinkovich表示,今年取得了重大进展。

“在 Eclipse 基金会,我们于 2024 年庆祝了一个重要的里程碑,即Eclipse Temurin OpenJDK 发行版的总下载量达到 5 亿次。自三年前成立以来,Adoptium通过提供免费、完全兼容、社区支持的企业级 Java 运行时,对 Java 生态系统产生了重大影响。”

Eclipse Temurin 是基于 OpenJDK 构建的开源 Java SE。Jakarta EE 是一套规范,它使用分布式计算和 Web 服务等企业功能的规范来扩展 Java SE。Jakarta EE 应用程序在参考运行时上运行,这些运行时可以是微服务或应用服务器,用于处理所部署组件的事务、安全性、可扩展性、并发性和管理。

Java 社区与生态系统演进

同时,就 Java 社区和行业的发展而言,在整个 2024 年,我们看到许多不同的组织与 Java 的管理者 Oracle 在 OpenJDK 社区中合作,继续在全球范围内推动 Java 的发展。

“例如,今年新增了 25 个Java 用户组 (JUG),全球共有 347 个公认的 JUG,”Saab 说道。“这种广泛的行业支持有助于提高 Java 的开发速度,扩大开发人员基础,并在 Java 即将于 2025 年 5 月迎来 30 周年之际提高发布的可预测性。”

需要内存安全吗?:依靠 Rust

与此同时,Rust已成为系统编程领域的领导者。Rust 在 TIOBE 指数中排名第 14 位。

IDC 的 Dayaratna 告诉 The New Stack,Rust 将在 2024 年继续占据主导地位,成为性能关键型和以安全为中心的应用程序的首选语言。

他说:“它的所有权模型和借用检查器保证了内存安全,而无需垃圾收集,使其成为在嵌入式系统、云原生基础设施和汽车应用等领域构建可靠软件的理想选择。”

此外,“Rust 能够防止数据竞争和内存泄漏等常见编程错误,因此在需要高可靠性的行业中很受欢迎,”Dayaratna 指出。“此外,其现代化的工具生态系统(包括Cargo 包管理器)简化了开发工作流程,进一步提高了其在广泛用例中的采用率。”

根据最近的JetBrains 开发者调查,Rust 的用户数量继续稳步增长。2024 年,11% 的受访者表示在过去 12 个月中使用了 Rust,高于 2023 年的 10% 和 2022 年的 9%。然而,C++ 的采用率并没有下降。The New Stack 的研究主管Lawrence E. Hecht表示,这可能部分是由于从 C++ 到 Rust 的迁移并不是一次性发生的。

此外,在 C++ 用户中,21% 的人已经在一定程度上使用了 Rust,另有 14% 的人计划采用它。11% 的 Rust 开发人员在同一项目中同时使用 C++ 和 Rust,但只有 5% 主要使用 C++ 的开发人员实际上在同一项目中同时使用 Rust 和 C++。

在确实在同一项目中使用 Rust 的主要 C++ 开发人员中,58% 计划在未来 12 个月内将更多代码迁移到 Rust。不过,在使用 Rust 的项目中,使用其他语言的开发人员越来越少。2024 年,41% 的 Rust 开发人员在他们的 Rust 项目中不使用其他语言,低于 2023 年的 49%。

Rust 会取代 C++ 吗?

JetBrains 的研究指出: “今年最受欢迎的语言中,唯一创下使用率新高的语言是 Rust。” “Rust 立志以严格的安全性和内存所有权机制取代 C++,其用户群在过去五年中稳步增长。根据我们的数据,六分之一的Go用户正在考虑采用 Rust。

研究发现,Rust 和 Go 是采用最多的语言。“大多数受访者计划采用的语言显然是 Go 和 Rust,”研究称。“这两种语言都是在构建时考虑了性能和并发性,并提供了编译器安全保证,以帮助减少错误。然而,虽然我们看到 Rust 的受欢迎程度不断提高,但 Go 开发人员的比例仍然保持稳定。”

态度的改变

“对我来说,最大的变化是态度的转变,”新西兰惠灵顿Accelerant.dev科技咨询公司的创始人、《 Rust in Action》一书的作者Tim McNamara告诉 The New Stack。

“很高兴看到 Rust 社区的许多部分都感到有成就感和成功感。Rust 经历了几年坎坷,可以说是成长的烦恼。看来,由于许多人的无形努力和小互动,社区正处于一个极其健康的状态,这些小互动正在逐步创造一个更健康的生态系统。”(有关 McNamara 对语言状态的更多看法,请查看“ Rust 2024 年的重要时刻”。)

Rust 基金会管理

Rust 基金会执行董事兼首席执行官Rebecca Rumbul告诉 The New Stack: “2024 年对于 Rust 来说是具有里程碑意义的一年,它再次确立了其作为 安全性、可靠性和性能方面的顶级编程语言的地位, 同时保持了其 最受推崇的语言地位。”“在过去的一年里,我们见证了 Rust 在扩展方面取得的重大进展,为更多开发人员和组织带来了好处。”

与此同时,Rumbul 指出,2024 年全球对 Rust 的热情飙升,世界各地涌现出新的聚会小组和会议——从 肯尼亚土耳其,再到欧洲其他地区和英国——反映了开源社区对学习和通过 Rust 建立联系的渴望。Rust 基金会还通过其社区资助计划为其中一些组织者以及项目维护者提供了支持。

“机构对 Rust 的投资今年也达到了新高,”Rumbul 表示。“白宫国家网络总监办公室 在 2 月份提倡使用 Rust 等内存安全语言来增强安全性。行业领导者做出了大胆的承诺:AWS 通过向我们的安全计划捐款来投资 Rust 生态系统安全,谷歌对我们的互操作计划的支持将有助于推进 Rust-C++ 互操作性, 微软通过慷慨的无限制捐款倡导 Rust 项目的关键优先事项。这些只是 2024 年企业对 Rust 投资的几个例子。”

Rumbul 补充说,Rust 维护者的贡献和工作包太多了,无法一一列举,但 在即将到来的 Rust Edition 之前对 Rust 项目目标的深刻反思 ,显然是成熟、成长和有远见的标志。

“整个 Rust 生态系统——从 Rust 项目贡献者到 Rust 社区组织者再到 Rust 基金会——在 2024 年取得了长足进步,这将帮助 Rust 满足 2025 年日益增长的需求。”