今天的文章外部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/
书籍:
《Rust For Rustaceans》Rust进阶书籍
《The Rust Programming Language》Rust入门书籍,官网上有非官方翻译
《Programming Rust》Rust入门书籍
《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”,可以获取????汇总)