Rust开发语言有着一些其他语言明显的优势,但也充满着争议,难上手、学习陡峭等。
Rust 是由 Mozilla 主导开发的通用、编译型编程语言,2010年首次公开。
在 Stack Overflow 的年度开发者调查报告中,Rust 连续多年被评为“最受喜爱的编程语言,以下是2023年的投票。
Rust 最显著的特性之一是其内存安全性
通过所有权系统、生命周期、借用检查器来确保内存安全
与 Go 和 Java 等语言不同,Rust 没有垃圾回收器
Rust 在编译时防止了许多常见的内存管理错误,例如空指针引用、悬挂指针和缓冲区溢出等
Rust 的性能可以与 C 和 C++ 相媲美,适合需要高效执行的场景,操作系统、嵌入式系统和游戏开发。
提供零成本抽象,使编译器能够优化与接口定义无关的代码,从而达到零开销的目标
零成本抽象实现有泛型和trait、静态分派、优化编译器等。
Rust 通过其所有权系统和类型系统,使得并发编程既安全高效
Rust 的编译器在编译时检查并发代码,确保无数据竞争,保证了数据在多个线程之间的安全共享和修改
Rust 允许通过 Send
和 Sync
特性安全地在线程之间传递所有权
Rust 支持跨平台开发,可以编译成多种平台的二进制文件,包括 Windows、Linux、macOS ,以及Android和iOS的使用
过配置 Cargo 文件,开发者可以为不同的平台生成对应的可执行文件
外部函数接口FFI,可以与其他语言操作,通过编译so 编译成静态库, 与android和iOS提供使用
Rust 的包管理器和构建系统,提供了依赖管理、构建和测试等
Crates.io Rust 的官方包仓库,包含了大量开源库,可以直接使用
Rust 拥有丰富的文档资源和相关例子,上手起来其实也比较简单和快捷
系统编程、WebAssembly、web开发(现在看起来还不是很好)、桌面应用、命令行工具、区块链行业(Polkadot)、游戏行业、包括现在做的web3以及AI都不乏有rust语言的身影。
2024年行业里有更多的rewrite来使用rust,目的为了更安全和稳固的系统。
移动端的底层开发,比如google的android系统底层也有rust的身影。
国内华为、字节、百度、阿里、美团等在通用组件、基础平台系统都在使用rust,其他国内数据库厂商、交易所、理想汽车、小鹏汽车等,以及大量在区块链、游戏行业提供的远程职位(也是不错选择)
飞书应用包括桌面、android、iOS非UI部分也有rust来实现
也表示2024 要降低学习门槛,拥抱更广泛的开发者社区。
Rust Lang Roadmap for 2024 | Inside Rust Blog
后边公众号的Rust合集里将介绍一些Rust的使用和快速学习笔记,帮助对Rust感兴趣的朋友快速上手,毕竟Rust给人的感觉会比较难学一些。
Rust到底好不好用,最终还是要看具体的业务场景应用。比如,目前用Rust来编写纯UI的前端,可能还不是很成熟。但在内存管理、安全性和性能优化等领域,Rust无疑是一种非常优秀的语言选择。
每种开发语言都有其独特的优势,也需要整个生态系统的完善来发挥其最大潜力。
Rust目前看是有很大可能可以在全栈领域发挥语言特性优势,并能有对应多领域岗位提供。期待你的持续关注和参与,一起学习和探索Rust的无限可能。
PS: 也欢迎大家评论和交流~ 更多文章也可关注微信公号:良技漫谈