slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
Microsoft:我们不会为了 Rust 而“放弃”C#
17611538698
webmaster@21cto.com

Microsoft:我们不会为了 Rust 而“放弃”C#

编程语言 0 1642 2024-03-05 11:22:23

图片

尽管最近有关于微软减少其自家C#语言的使用,以支持Rust语言的消息不断传出,但是这家公司表示它仍然致力于支持C#。

这一消息来源于MSPoweruser的Rafly Gilang看到微软的招聘信息,它在寻找熟悉Rust的架构师帮助在Rust中重写使用C#(.net序列中的编程语言)构建的核心组件。

图片

地址:https://jobs.careers.microsoft.com/global/en/job/1633482/Principal-Software-Architect

其职位描述是指导现有大规模 C# 云服务向 Rust 代码的技术过渡。此举被视为是Microsoft采用Rust实现全球平台服务现代化和优化的更广泛努力的一部分。Rust 语言提供内存安全性和性能。

C# 不会无处可去


Microsoft承认它对 Rust 的各种用例感兴趣,但 C# 不会被取代。相反,Rust 只是该公司武器库中的一种语言。


微软的发言人这样说道


“在 Microsoft,我们使用各种编程语言来开发并向客户交付产品和服务。C#仍然是Microsoft高度重视的语言,我们致力于其持续增长和发展”。


C#是一种通用的高级编程语言,由Anders Hejlsberg设计。Anders Hejlsberg是Microsoft“自吹自擂“的技术研究员、软件工具制造者和编程语言创建者。Microsoft 于 2000 年发布了 C#。


图片

Anders Hejlsberg


而 Rust 是一种多范式、通用的编程语言,强调性能、类型安全和并发性。Rust 于 2015 年问世,被视为一种更现代的编程语言。Rust 基金会是该编程语言的管理者。

Rust基金会的一位代表说:

“因为Microsoft是Rust基金会白金会员的创始成员,我们的团队自成立以来一直致力于Rust编程语言的发展和未来的成功。尽管如此,我们并不认为Microsoft对 Rust 的承诺表明 C# 被'放弃',正如最近的报道和评论所暗示的那样。

Microsoft寻求填补的职位角色是该公司的Substrate App Platform组,该开发小组是Microsoft 365核心平台开发团队的一部分。

”生锈的爱“

现如今,Rust 程序员的需求量开始变得很大,因为越来越多的组织因其安全性和性能而转向该语言。

Omdia分析师Brad Shimmin说:

“这就像人们在说'嘿,我们为什么要用 Rust 重写 Linux 内核的一部分?'这些都是挺大的问题,因为与Python之类的东西相比,Rust对开发者并不友好,但作为一种通用语言,与C语言相比,它有一些重要的优势。而这些优势中的大多数似乎都围绕着一个词——安全。更具体地说,两个词——内存安全。

Rust 在最新的流行编程语言 TIOBE 排行榜中排名第 18位,而 C# 排名第5。

图片

同时,2023 年 Stack Overflow 调查将 Rust 列为最受推崇的语言,因为去年使用它的开发人员中有超过 80% 希望今年再次使用它。2022 年 Stack Overflow 调查报告显示了 Rust 的类似结果。

Brad Shimmin还说:

“你可以编写与 C# 一样快的裸机代码,而不必担心伴随该语言的内存'陷阱',我认为对于更广泛的应用程序中的特定项目和模块,Rust 绝对是一个不错的选择,尤其是在性能和健壮性被提上日程的情况下。出于这个原因,我看到越来越多的 Linux 项目跳转到 Rust,从终端模拟器开始,现在转向整个窗口管理器,就像 Pop!_OS 发行版一样。

事实上,就性能和健壮性而言,Rust 是一个不错的选择。

“我想这是一种更好、更有效的编码和管理资源的方式——Rust 的价值在于它是被编译的,它管理内存,而不是 C++,你管理内存(安全问题),但它很快,C# 管理内存(垃圾收集器),但它是字节码动态编译,没有那么快或节省空间,“

Rust 管理内存(新格式,而不是垃圾回收器),并且对其进行编译,使其更快、更高效。这主要对在 Office 365 等云平台上运行的东西有价值。

关于预算


针对Microsoft 经常修改Azure中运行的服务代码。微软MVP和区域总监,Campbell&Associates的创始人Richard Campbell这样表示


“我怀疑他们热衷于优化该代码,因为这会花掉他们部门的预算”。


Campbell 指出,这些代码最初是用 C# 编写的,因为可以快速开发并进入市场——只有当它变得热门时,才会考虑 Rust 可以带来的那种极端的性能优化。只有当服务需求量很大时,微软才会考虑这种优化——如果很少有人使用它,那就不值得了。


“当你追求峰值优化时,你会倾向于使用低级语言——那种'接近金属'的语言,这样你就可以尽可能地节省每一个处理周期。C# 是一种很棒的语言,但它存在于托管运行时中,该运行时针对可靠性和易用性进行了优化。当然它也很快,但如果你想从一些代码中榨取所有可能的性能,你需要切换到较低级别的语言 - 通常是C++。


而相关的权衡是,C++代码更难编写和调试,并且需要非常熟练的人来编写高度优化的代码。


Campbell 说:“Rust 代表了新一代的低级编程语言,它使得在该级别创建高质量的代码变得更加容易。


一个错误?


然而,对于一家软件公司来说,仅仅用 Rust 重写其代码库可能是一个错误。


Brad Shimmin这样说:


“首先,有能力的 Rust 开发人员比那些精通 C#、React 等工程师更难找到,其次,如果出现大规模的变化,Rust 中的一些内存安全限制可能会随着时间推移而变得难以维护。


但是,他说可以很容易地想象Microsoft为什么要这样做。


“这与 Linus Torvalds 允许 Rust 进入 Linux 内核的理由相同:性能和稳定性,”这就是 Linus 从驱动程序开始的原因。它们就在祼机金属上工作,而且是高度模块化的。用Rust很合适。就像用 Python 编写Web应用程序一样,它也非常适合数据科学项目。


Google 也提高了 Rust 赌注


与此同时,Microsoft并不是唯一一家密切关注 Rust 的大公司。如果你关注21CTO,本月早些时候,Google承诺向Rust基金会提供100万美元,以提高C++和Rust编程语言之间的互操作性。(相关链接:谷歌向 Rust 基金会捐赠 100 万美元,改进 Rust 与 C++ 的互操作性


虽然这个项目被称为“Interop Initiative”,但其目标本质上更加聚焦,让“组织慢慢地将当前的C++迁移到Rust”。


同样的情况,关注内存安全是一个核心问题。


Lars Bergstrom 在Ggoogle 是 Android 平台工具和库的总监,也是 Rust 基金会董事会主席。 他在一篇博文中这样写道:


“虽然 Rust 可能不适合所有产品应用程序,但优先考虑与 C++ 的无缝互操作性将加速更广泛的开发者社区采用,从而与提高内存安全性的行业目标保持一致,”


作为具有网络安全背景和基础设施安全局 (CISA)的 局长 Jen Easterly 最近倡导在 Android 中使用 Rust 和 Google 内核的实现,作为组织和平台缓解内存安全漏洞的关键方式。据CISA称,大约三分之二的已知软件漏洞是一类被称为“内存安全”漏洞的弱点,这些是引入了与计算机内存访问方式相关某种类型的漏洞。


此外,谷歌一直是 Rust 实施的先行者。谷歌表示,迄今为止,在 Android 的 Rust 代码中发现的内存安全漏洞为零。虽然谷歌在Android中使用Rust的增长最为明显,但该公司仍在继续扩大其在更多应用程序中的使用,包括客户端和服务器硬件。


Microsoft 的“生锈”历史


实际上,Microsoft对 Rust 的兴趣已经不是一两天了。


早在 2020 年,微软就表示逐步转向 Rust 来构建其基础设施软件,远离 C/C++。


2022 年,Azure 首席技术官 Mark Russinovich 就在 Twitter(现在称为 X)上发帖说:“说到语言,是时候停止在 C/C++ 中启动任何新项目了,并将 Rust 用于需要非 GC 语言的场景。为了安全性和可靠性。业界应该宣布这些语言已弃用。


虽然然 Rust 的学习曲线很陡峭,Azure团队更喜欢 Rust 而不是 Go,因为 Rust 能够发现 Go 无法发现的错误。


去年,Russinovich 在平台上发帖说:“如果你在 Windowns 11 Insider 体验频道上,你就会在 Windows 内核中第一次尝到 Rust 的滋味!”


作者:有趣的大雄

评论