查看原文
其他

Google为Chromium引入Rust?

程序喵大人 程序喵大人 2023-02-24

今天的文章外部link比较多

我特意整理了link的汇总

需要的朋友可以在后台回复:“rust ”

即可收到自动回复,更加方便观看

------------------------------------------------------------------

最近看到一篇Google的Blog:Google官宣要把Rust引进Chromium项目中。此举是为了加快开发速度(更少的代码编写,更少的设计文档、更少的安全检查),并提高Chrome的安全性(增加没有内存安全错误的代码,降低代码的错误密度)。

Blog链接:https://security.googleblog.com/2023/01/supporting-use-of-rust-in-chromium.html

从此举可以看到Rust的重要性,以及它广阔的前景。

我们为什么要学习Rust?

首先可以从Rust官网上找到答案。


Rust是一门赋予每个人构建可靠且高效软件能力的语言。


它有很多特点:


高性能:Rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。


可靠性:Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,在编译期就能够消除各种各样的错误。


生产力:Rust 拥有出色的文档、友好的编译器和清晰的错误提示信息, 还集成了一流的工具——包管理器和构建工具, 智能地自动补全和类型检验的多编辑器支持, 以及自动格式化代码等等。


全世界已有数百家公司在生产环境中使用 Rust,以达到快速、跨平台、低资源占用的目的。很多知名的软件,例如 Firefox、 Dropbox 和 Cloudflare 都在使用 Rust。从初创公司到大型企业,从嵌入式设备到可扩展的 Web 服务,使用Rust 都非常合适。文档、工具和社区都很好,足以帮助大家顺利完成 Rust 项目!


相比于C++:它的性能同样极高,它有更优质的跨平台能力,有更好的包管理工具和构建工具,众所周知C++对网络模块的支持不好,而Rust则支持的特别好。同时它对内存的把控也很严格,让开发者在编译阶段就能发现绝大多数的内存错误。


安装方便:crates.io 上拥有成千上万的软件包,想要的解决方案在这里几乎都能找到。站在巨人的肩膀上,团队可远离重复,专注创新。


测试方便:Rust 出色的测试工具能让您对代码放心。cargo test 是 Rust 统一的测试方案。测试代码既可写在功能代码之后,也可放在独立文件中,它满足您所有的测试需求。


部署方便:cargo build 可为不同平台构建精益的可执行文件。仅需一行命令,您的代码就能针对 Windows、Linux、macOS 和 Web 进行编译。支持全部现代平台接口,无需定制构建文件。


目前,微软很多项目转向了Rust,所有的Windows API都已经有Rust接口。


Meta正在推广Rust,Amazon也在更多的依赖Rust。


Google现在很多项目也使用了Rust,还特意为Android开发者出了一套Rust教程。


NSA(美国 安全 局)也建议使用内存安全的语言,比如Rust。



Rust的重要知识点


所有权、生命周期、内存管理

这块是Rust的核心,也是Rust主要区别于其他语言的地方,理解了Rust所有权和生命周期的理念,才能知道Rust是如何在编译期就检测到我们那些不安全的内存使用情况的。


trait:Rust不支持class这种面向对象的方式,但是通过trait特性可以达到面向对象的效果。

FFI:Rust和其他语言交互需要通过FFI达到目的。

并发:Rust一大特性就是无惧并发,一定要学会使用和理解Tokio。


Rust的学习资料


首选Rust官网


详细文档可以通过rustup doc在线阅读,也可以直接在浏览器上进入官网阅读。


我这里还列出了一些优质的Rust学习链接和书籍,大家可以根据实际情况学习:


Rust 备忘清单https://cheats.rs/

书籍:

  1. 《Rust For Rustaceans》Rust进阶书籍

  2. 《The Rust Programming Language》Rust入门书籍,官网上有非官方翻译

  3. 《Programming Rust》Rust入门书籍

  4. 《Creative Projects for Rust Programmers》偏向Rust实战的书籍


链接:

Rust备忘清单:https://cheats.rs/

Rust圣经,名字就足够震撼:https://course.rs/about-book.html 

通过practice:https://zh.practice.rs/why-exercise.html 

同样通过practice学习Rust:https://doc.rust-lang.org/rust-by-example/ 

通过list学习Rust:https://rust-unofficial.github.io/too-many-lists/ 

Rust秘典,里面对知识点的讲解蛮不错的:https://nomicon.purewhite.io/intro.html 

一个学习Rust的仓库,里面包含很多练习题:https://github.com/rust-lang/rustlings 

Google的Rust课程:https://google.github.io/comprehensive-rust/ 

(想更方便地收藏以上🔗的朋友,也可以在微信后台回复“rust”,可以获取🔗汇总)


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存