最近看到一篇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在线阅读,也可以直接在浏览器上进入官网阅读。
审核编辑 :李倩
全部0条评论
快来发表一下你的评论吧 !