Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

川普在美国宾州巴特勒的一次演讲中遇刺_20240714川普在美国宾州巴特勒的一次演讲中遇刺_20240714
0

Rust 语言遭遇“水逆”:开源项目接连弃用,昔日狂热粉感叹“后悔莫及”

引言:

在编程世界的浪潮中,Rust 语言曾以其卓越的内存安全性和并发性能,吸引了无数开发者的目光,被誉为 C 和 C++ 的有力挑战者。然而,近期接连发生的开源项目弃用事件,如同当头棒喝,让 Rust 的光环黯淡了不少。从知名项目 curl 放弃 Rust 编写的 HTTP 后端,到数据库工具链 Prisma 宣布迁移至 TypeScript,Rust 似乎正经历一场“水逆”。这不禁引发人们的思考:Rust 的未来究竟会走向何方?

主体:

curl 的“失败实验”:安全愿景与现实困境

知名开源项目 curl 的创始人 Daniel Stenberg 在去年年底宣布,将放弃支持基于 Rust 编写的 Hyper HTTP 后端,并彻底移除相关代码。这一决定无疑给 Rust 社区带来了一丝寒意。Stenberg 在声明中坦言:“旅程即将结束,实验结束了。我们努力过,但还是失败了。”

早在 2020 年,Stenberg 就开始尝试在 curl 中引入基于 Rust 的 Hyper HTTP 后端,旨在利用 Rust 的内存安全性,为用户提供更安全的 HTTP 实现。该项目得到了 ISRG(“Let’s Encrypt”背后的组织)的慷慨赞助,并与 Hyper 的首席开发人员 Sean McArthur 密切合作,一度进展顺利。然而,最终的失败却暴露了 Rust 在实际应用中面临的挑战:

  1. 需求错配: curl 的用户对 Hyper 兴趣寥寥,而现有的 Hyper 用户也不关心其是否兼容 curl。这导致了项目缺乏足够的用户支持和动力。
  2. 技术壁垒: libcurl 库使用 C 语言编写,而 Hyper 使用 Rust 语言,两者之间的互操作需要一个复杂的 C 粘合层。这要求开发者同时精通 C 和 Rust,而这样的人才在现实中十分稀缺。

Stenberg 表示,虽然 Hyper 的实验失败了,但他们从中吸取了教训,并改进了 curl 的内部架构。他仍然对未来引入 Rust 或其他语言编写的安全后端持开放态度。

Prisma 的“生态之困”:从 Rust 到 TypeScript 的迁移

无独有偶,在去年 12 月初,另一个开源数据库工具链项目 Prisma 也宣布将从 Rust 迁移至 TypeScript。Prisma 官方的声明指出,其核心功能(如查询解析、验证和执行)由 Rust 引擎管理,这对于专注于 TypeScript 的社区来说是不透明的,限制了社区的贡献。

Prisma 的这一举动,反映了 Rust 在生态建设方面面临的挑战。尽管 Rust 语言本身强大且安全,但在插件和扩展生态方面,相较于成熟的 TypeScript 社区,仍然存在差距。Prisma 的迁移,无疑是对 Rust 生态的一次警醒。

Rust 的崛起与挑战:安全光环下的现实考量

近年来,Rust 语言在编程语言排行榜上的排名不断攀升,取代 C 和 C++ 的呼声也日益高涨。然而,Rust 的学习曲线相对陡峭,语法也较为复杂,这使得许多开发者望而却步。

一位开发者在关于“哪些原因阻止你在 2025 年学习 Rust”的调查中指出,他常用的 C/C++ 库拥有数十年的开发经验,而 Rust 的相关库则显得“随机、不知名、没有血统”。这反映了 Rust 在生态成熟度方面仍有提升空间。

“后悔莫及”的 Rust 实践:理想与现实的差距

Medium 上的一篇文章,讲述了一位开发者 Austin Starks 花费 18 个月用 Rust 语言重建算法交易平台的经历。尽管付出了巨大的努力,Starks 最终却感叹“后悔莫及”。这再次印证了 Rust 在实际应用中可能面临的挑战,以及理想与现实之间的差距。

结论:

Rust 语言的崛起之路并非一帆风顺。接连的开源项目弃用事件,暴露了 Rust 在实际应用中面临的诸多挑战,包括用户需求错配、技术壁垒、生态建设不足以及学习曲线陡峭等问题。

然而,我们不能因此否定 Rust 的价值。Rust 在内存安全性和并发性能方面的优势依然显著,其在系统编程、高性能计算等领域的潜力依然巨大。

Rust 的未来发展,取决于其能否在生态建设、社区支持以及易用性等方面取得突破。只有克服这些挑战,Rust 才能真正成为一门主流的编程语言,而不是昙花一现的技术潮流。

参考文献:

(注:以上参考文献为示例,请根据实际情况进行调整)

后记:

这篇新闻稿旨在客观呈现 Rust 语言目前面临的挑战,并引发读者对技术发展趋势的思考。作为一名资深新闻记者和编辑,我始终秉持严谨、客观的原则,力求为读者提供准确、深入的信息。希望这篇文章能对您有所启发。


>>> Read more <<<

Views: 0

0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注