假设我们有一个初级开发人员在写 Rust,也在写 C,做的是同一个任务。我们会在其中一种语言中获得更快的代码吗?这控制了能力,但控制不了相同的代码。这是“相同”的吗?
Rust:愿者上钩
2015年6月,Rust 1.0登陆的喧嚣一个月后,我写下了第一行Rust代码。我来自 C、Python 和 JavaScript,从此一发不可收拾。两家基于 Rust 的初创公司和 50 万行 Rust 代码之后,我在此对这一里程碑进行了一些反思。
虽然一些微型 crates 各自都能很好地完成某项任务,但我们仍然应该寻找一种方法来减少依赖树中的依赖项数量。
Rust 中的非初始化缓冲区是一个由来已久的问题, John Nunley and Alex Saveau 想到了一种新方法,使用 Buffer Trait,现在已经出现在 rustix 1.0 中,我将在这篇文章中介绍。
Mozilla 在火狐浏览器中使用了 Rust;谷歌在 Android、Chrome OS 和 Fuchsia 中使用了 Rust;微软在其 Windows 核心库和 Azure Confidential Compute 中使用了 Rust。离我最近的是,Linux 内核现在也采用了 Rust。
在我看来,在 Rust 一侧做更简洁的版本反而更容易,一旦我们知道了它的样子,也许我们就会更新 C 语言版本以与之匹配–或者我们点燃一切,继续用 Rust 重写一切。
我们接受了挑战,做了自己的实验,尽管我们的工程师得到的时间和指令非常有限,但最终产生的 Rust 代码确实避免了与内存安全相关的漏洞。如果你愿意,甚至可以亲自尝试一下。
我学习 Rust 的方式并不常见:阅读教程、书籍或编写小项目。恰恰相反,我把学习 Rust 作为构建 Austral 的研究工作的一部分。我会阅读有关 Rust 的论文和规范,有时我还会去 Rust playground 写一个小程序,以了解借用检查器在特定边缘情况下是如何工作的
嵌入式 Rust 开发
如果一切按计划进行,Ubuntu 项目很快就会用 Rust 编写的实现来取代许多传统的 GNU 工具,比如我们在二月份报道过的 uutils 项目创建的工具。作为 Linux 发行版核心的核心实用程序的全面替换并非小事
当人们第一次听说 Rust unsafe 时,往往会产生疑问。一个很正常的问题是:”等等,这不是有 […]
我们将介绍如何使用泛型、何时使用泛型是个好主意,以及如何限制泛型以保证安全性、清晰性和更高的可用性。泛型功能强大,有时也会令人困惑,让我们来unwrap这个话题,确保你在使用时不会panic!
人们最大的疑问是 “为什么不是 C#?”和 “为什么不是 Rust?”。说白了,我确实认为询问某人选择编程语言的原因是有价值的;作为专业人士,我们需要经常做出这类决定,而了解其他人是如何做出这些决定的,对于了解其他人是如何考虑这些事情的,是很有帮助的。
有些人会说他们可以不用 :is 选择器。我也可以不用它,但我知道我随时都可以使用超棒的 :is 选择器,让我的代码更易读,这让我的生活变得更美好。
Linus Torvalds 本人都对这种局势感到困惑,其在近期出席 Open Source Summit EUROPE 时发出感慨:“我搞不懂为什么现在还有这么多人对 Rust 产生如此大的争议。
我从未遇到过 Rust 进程崩溃的情况。我遇到过一次 Node 进程崩溃。除非你在代码中使用 .unwrap()(基本上就是说 “如果结果是错误,就崩溃”),否则你的进程很有可能永远不会崩溃。
该项提案将由名为 “C++ Alliance” 的机构与工程师 Sean Baxter 合作开发,C++ Alliance 计划将「Safe C++」扩展提案提交给 ISO,以纳入 C++ 标准。
Rust 的崛起绝非偶然。它对内存安全、并发性和性能的关注使其成为当今最有前途的编程语言之一。无论您是从事系统编程、网络开发,还是区块链开发,Rust 都能帮助您构建安全、可靠、快速的软件。
面对 Rust 的浩大攻势,C++ 阵营这边则警惕地组织起防守阵形。两年之前,在回应 Russinovich 对于弃用 C/C++ 的呼吁时,C++ 语言的缔造者 Bjarne Stroustrup 就在采访中坦言,“我们现在可以在 ISO C++ 中实现完美的类型与内存安全保障。”
选择将 Perl 引入基础系统,是基于与 Rust 相同的论点。该项目忽略了一个事实,即 Perl 不仅仅是一种编程语言,它还是一个生态系统
谷歌最近使用 Rust 编程语言重写了 Android 虚拟化框架中受到保护的虚拟机固件,并且建议涉及固件处理项目的开发者也同样积极拥抱这种内存安全语言
Wedson 开发了许多 Rust Linux 内核功能,甚至还主持将 EXT2 文件系统驱动程序移植到了 Rust。但他已经受够了,现在正退出 Rust for Linux 的工作
几十年来,程序员一直用C和C++编写关键系统,现在Rust正逐渐成为这类任务的首选。
我曾深陷 “Rust 很难 “的泥潭。一个重要原因是我坚持认为 Rust 代码应该看起来像我以前写过的其他代码。从过去的代码中汲取经验固然是件好事,但拥抱现有的习语对于掌握 Rust 代码也很重要。Rust 需要思维方式的转变。不要为 Rust 的不是而与之抗争,要为它的是而拥抱它。
谷歌表示,Android开源项目(AOSP)并未被“终止”,尽管Pixel系列的变更影响了自定义ROM开发
Android 16 来了
高效生活的101条法则
微软希望Windows Update能够管理所有应用程序
对 Rust 10 年的押注以及我对未来的期待
苹果: 密码监控服务从 Java 迁移到 Swift
关于 JavaScript "工作证明(proof of work) "防抓取系统的思考
关于程序员过时的传说
这是 JavaScript 吗?