1.1. Rust 语言的优势

思想层面的提升

在现代的编程语言设计中,高层工程学和底层控制往往是鱼和熊掌不可兼得的关系。而 Rust 语言设计开发团队则试图挑战这一矛盾。从目前的成果来看,他们的工作卓有成效。

  • Rust 语言中最为与众不同的特性和核心功能之一的所有权(ownership)语义,它让 Rust 语言无需垃圾回收(garbage collector)即可保障内存安全;
  • 在内存管理和使用方面,Rust 程序员基于所有权系统,无须亲自分配和释放内存,无需垃圾回收,即可以控制底层细节;
  • 生命周期(lifetime)的语义设计,有效地保持了引用的作用域,避免了悬垂引用;
  • 模式匹配、lambda 表达式、并发支持、泛型支持等现代语言的特性,在 Rust 语言的设计思想中,都得到了一定程度的改进和提升。

简而言之,Rust 语言从思想层面对编程语言的发展进行了极大提升。

优秀的用户体验

但实践才是检验新技术新思想的唯一标准,Rust 语言能在当前海量的编程语言中脱颖而出,正是因为它严格经受了实践的检验。Rust 语言实践中,其稳定地体现着媲美 C 语言的性能;因其系统级特性,可以帮助用户深刻理解计算机知识基础,培养个人的计算机素养,重新审视编程过程;使用 Rust 语言编程时,用户可以运用多种编程风格和思想,而且不用担心有太多的冲突;Rust 语言的安全机制,可在编译时最大程度帮助用户提高代码的可靠性,助力用户实现自己的想法,而不必过多担心内存使用这类复杂的问题;而其模式匹配、trait、crate 管理,以及项目组织等方面,则舒适地提高了生产力。

对于 Rust 语言的实际开发体验,很多 Rust 语言介绍性资料或理论书籍都进行了全面和客观的总结。正如 Rust 官方言简意赅的总结——

  • 高性能。Rust 语言速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。
  • 可靠性。Rust 语言丰富的类型系统和所有权模型保证了内存安全和线程安全,让你在编译期就能够消除各种各样的错误。
  • 生产力。Rust 语言拥有出色的文档、友好的编译器和清晰的错误提示信息, 还集成了一流的工具——包管理器和构建工具, 智能地自动补全和类型检验的多编辑器支持, 以及自动格式化代码等等。

活跃而有保障的社区

在移动应用社区中,iOS 和 AndroidOS 是基础,对于开发者和使用者来说,移动生态甚至比平台技术更加重要。Rust 语言同样如此,其语言设计思想,以及核心特性和功能可以快速吸引大批程序员体验 Rust 语言。但是,最终决定公司是否将 Rust 语言纳入技术栈,或者程序员是否将 Rust 作为自己的主力开发语言的因素,则更多取决于 Rust 语言的生态环境:广度、深度、成熟度。

在 Rust 语言社区中,有类库团队 Rust Libz Blitz,主要目标为保障 Rust 生态系统的坚实核心,以及提升 crate 完整性和质量。

基于上述概要介绍,我们可以看到:无论是思想层面,还是实践检验,Rust 语言都非常优秀。而其专有的类库团队,则保障了快速增长态势下的生态环境,为项目产品中将 Rust 作为核心开发语言,提供了坚实基础。