苹果拥抱 Rust,正在将 C 代码移植到 Rust
微软去年宣布在涉及安全的模块中会使用 Rust 来替代 C、C++ 和其他语言,以改进应用的安全情况,并解释为什么他们认为 Rust 目前是业界采用的最佳选择。除了具备性能与安全方面的特性,Rust 还拥有健康的生态和社区,综合起来各种因素最终推动他们采用 Rust。
现在,另一家科技巨头 —— 苹果也表示对将 C 代码移植到 Rust 感兴趣,希望投身到使用 Rust 编写代码的潮流中。从它最近发布的一则招聘公告来看,苹果最初从 C 到 Rust 的过渡似乎集中在他们基于 Linux 的服务器端平台上,此职位由苹果云流量团队(Apple Cloud Traffic team)提供。
苹果在招聘公告中写到:“我们构建的系统的性能和安全性至关重要。目前使用异步 I/O 和线程来分配工作负载,直接与底层 Linux 内核接口进行交互。首次成功使用 Rust 之后,我们正在将已建立的代码库从 C 迁移到 Rust,并计划未来主要使用 Rust 构建新功能。”
不过到目前为止,我们对苹果“首次成功使用 Rust”的分享还知之甚少。但考虑到不少组织都是因为安全性而对 Rust 感兴趣,并且 Rust 还带来性能方面的提升,所以苹果会有这样的感慨也不令人感到意外。
最后不妨大胆猜测一下,苹果是否会将全部客户端软件迁移至使用 Rust 编写?
Rust 代码示例:
fn main() { let greetings = ["Hello", "Hola", "Bonjour", "Ciao", "こんにちは", "안녕하세요", "Cześć", "Olá", "Здравствуйте", "Chào bạn", "您好"]; for (num, greeting) in greetings.iter().enumerate() { print!("{} : ", greeting); match num { 0 => println!("This code is editable and runnable!"), 1 => println!("¡Este código es editable y ejecutable!"), 2 => println!("Ce code est modifiable et exécutable !"), 3 => println!("Questo codice è modificabile ed eseguibile!"), 4 => println!("このコードは编集して実行出来ます!"), 5 => println!("여기에서 코드를 수정하고 실행할 수 있습니다!"), 6 => println!("Ten kod można edytować oraz uruchomić!"), 7 => println!("Esse código é editável e executável!"), 8 => println!("Этот код можно отредактировать и запустить!"), 9 => println!("Bạn có thể edit và run code trực tiếp!"), 10 => println!("这段代码是可以编辑并且能够运行的!"), _ => {}, } } }