找回密码
 立即注册
搜索
查看: 96|回复: 0

美国力挺 Rust,它究竟是何方神圣?为何在国内不火?

[复制链接]

1万

主题

0

回帖

5万

积分

管理员

积分
58006
发表于 2024-10-4 22:48:31 | 显示全部楼层 |阅读模式
日前,美国总统乔·拜登公开表示,出于安全考虑,大力发展 Rust 项目,拒绝支持“非 Rust”项目。美国大力支持的 “Rust” 到底是什么?为什么在中国不受欢迎?

Rust 的历史

根据公开资料,Rust 是一种现代系统编程语言,旨在提供与 C 和 C++ 等低级语言相当的性能,注重安全性、并发性和性能,同时提供更高级别的内存安全保证。Rust 最初由美国开发商  推出,由 Web 领域的领导者和父亲 Eich、Dave 和 Hoare 开发。

用 Rust 开发了一个实验性渲染引擎 Servo,并将它的一些 Css 渲染组件(如 Style)集成到浏览器中。最初的计划是在更安全的 Rust 中完全重写 C++ 代码。然而,由于大流行,Rust 团队和大多数核心 Rust 开发人员在 2020 年的裁员中被解雇。后来,Rust 项目被宣布独立并创建了 Rust 基金会,Servo 引擎成为 Linux 基金会托管的项目。Rust 重写的计划也被搁置了。今天,Rust 仅占代码的 9.9%,而 C++ 为 26.8%,C 为 13.4%,C 为 27.5%,HTML 为 4.8%。

它自 2010 年以来一直处于积极开发状态,并于 2015 年正式发布 Rust 1.0。它的官方描述是:“运行速度极快,防止几乎所有崩溃,并消除并发数据安全问题”。

经过多年的发展,在 2022 年美国开发者调查中,Rust 连续四年被开发者评为最受欢迎的编程语言,但有趣的是,97% 的受访者表示他们从未使用过 Rust,他们对 Rust 语言的热爱仍处于想要学习的阶段。

Rust 在美国势头强劲,目前正受到许多科技公司的关注和支持,包括 、 、 、 、 一些公司已经开始在生产中使用 Rust,并将其用于系统编程、Web 服务、游戏开发和嵌入式系统等领域。



例如,Rust 分别进入了  和 Linux  内核开发序列。过去操作系统的开发语言是 C/C++,几千年来都没有改变,甚至 Linux 内核开发者都看不起 C++。Rust 轻松进入内核开发领域,可见其技术优势,因此堪称“里程碑事件”。Rust 还因其可靠性和性能而受到开源社区的欢迎,拥有活跃且不断增长的开发人员社区。

随着 Rust 变得更加稳定和生态系统的成熟,预计其未来的发展趋势将不断完善,更多的企业和开发者可能会采用 Rust 来替代或补充现有的系统编程语言。特别是,Rust 的安全和性能优势可能会推动其在操作系统、浏览器引擎、游戏开发、区块链和物联网等领域的采用。

Rust 有两个主要的安全功能

一位专业网友总结道:“相当于站在前人的肩膀上,Rust 在很大程度上解决了许多其他编程语言的痛点。“Rust 有两个主要的安全功能。

首先,Rust 利用了静态语言。与动态语言(调试和运行时不确定性)相比,静态类型语言允许提前对数据及其行为进行编译器级别的检查和约束,在运行时只留下少量的类型检查,这极大地避免了程序员的头痛,并鼓励了长期的可维护性。

同时解决了并发条件下的数据竞争问题。当两个线程同时访问同一内存时,会发生数据争用,从而导致某些不可预知的行为。Rust 从编译阶段就解决了数据竞争的萌芽状态,保证了并发条件下的数据安全。用户可以以库的形式实现多种高效、安全的并发编程模型,以充分利用多核时代的硬件性能。

其次,Rust 可以实现更好的内存安全功能。在内存管理方面,有两种常见的方法:要么使用 Java 等垃圾回收算法,要么像 C++ 一样手动管理内存。但是,自动垃圾回收不可避免地会影响性能,手动管理内存可能会导致内存泄漏和悬停指针等问题。Rust 的所有权系统在编译时分析程序的内存管理,并且不会产生额外的运行时开销。这种无垃圾的内存安全机制是 Rust 的经典和核心设计之一。

作为一种系统级编程语言,Rust 的基本思想是 “零成本抽象”。这种理念使 Rust 能够在不牺牲性能的情况下用高级语言表达自己。与其他系统级编程语言(如 C 或 C++)相比,Rust 不需要程序员将所有时间都花在细节上,而是通过添加与等效手写代码性能相当的更高级别的编程概念来确保所使用的抽象几乎没有运行时开销。

总体而言,在性能方面,Rust 具有极高的内存利用率,能够执行特别苛刻的服务。在安全性方面,Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,可以有效阻止编译时各种错误的发生。Rust 在安全性、可靠性和性能方面击败了所有 C 语言,唯一的缺点是它的进入门槛高。



导致它在该国不受欢迎的原因有两个

与美国相比,Rust 在中国逐渐受到关注,一些科技公司和开发者社区对 Rust 越来越感兴趣,一些公司已经开始探索和试验使用 Rust 进行项目开发。中文的 Rust 社区和文档资源也逐渐丰富了,但是在登录相关 Rust 社区后,笔者发现社区不是很活跃,网页功能也不完善,有些社区甚至没有持续更新,这说明国内的 Rust 还需要普及和教育。

当谈及国内外明显的差异以及 Rust 为何在国内不受欢迎时,业内人士分析,主要有两个原因。

一是国内外开发环境存在明显差异:由于历史原因,国内科技公司更注重业务应用的开发,传统的 C、C++、JAVA 等语言的应用历史比 Rust 更长,更适合国内操作系统、基础设施和中间件的 Rust 语言在互联网厂商中, 以及嵌入式 Linux、繁重的桌面应用等基础领域的开发需求就没有那么多了,还是国内专注于操作系统内核等互联网的“基础设施”。“开发 Rust 的公司相对较少,因此国内对 Rust 的需求不足,这使得很难得到快速的推广和应用。

二是 Rust 语言难学:Rust 语言设计时就把安全放在首位,语法和规则比较严格,很难学。被 Rust 用户鄙视的 Go 语言和低代码开放平台,由于学习简单,最先被推广,尤其是在云原生互联网后端。

7.1% 的受访者表示他们在使用 Rust 后停止使用 Rust。他们停止使用 Rust 的最大原因是公司不再使用 Rust,而学习困难、缺乏必需的库和缺乏 IDE 支持是常见的障碍。更多用户希望 Rust 与 C 和 C++ 语言具有更好的互操作性。

虽然 Rust 目前在中国并不流行,但随着全球软件行业对安全性和性能的需求不断增长,Rust 的内存级安全功能使其成为安全开发的理想选择。国内外公司将不断探索 Rust 在不同领域的应用,更多的开发者将加入到 Rust 的学习和应用中来。随着国内开发者对 Rust 理解的加深,未来将出现更多基于 Rust 的开源项目和企业级解决方案,国内 Rust 也将呈现出良好的发展态势。

关于  Tech Watch

“商业科技观察”是由资深商业科技媒体专业人士联合建立的新媒体平台,涵盖风险投资、B2B/企业服务(云计算、大数据、人工智能、信息安全、5G)、数字化转型、金融科技、区块链/数字资产、智慧城市、智慧城市、智能科技。制造业、旅游、健康等新经济领域。迄今为止已建立官网()、微信认证公众号,并入驻今日头条、百度、凤凰资讯等20多家媒体平台;读者群(粉丝)包括 CEO、CTO、CXO 和其他高端商业技术专业人士。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|【智道时空】 ( 京ICP备20013102号-16 )

GMT+8, 2025-5-3 22:52 , Processed in 0.077391 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表