【专题】Rust 编程语言

2010-10-16 topic language rust

可以将 Rust 理解为 C 的直接替代品,提供了系统级的性能,而且在很多方面更好,最常提到的就是内存安全,并且可以与遗留 C 代码原生互操作以进行增量替换。

Rust Logo

Rust 语言最初只是 Mozilla 员工 Graydon Hoare 在 2006 年创建的一个业余项目,在 2015 年,Mozilla 发布了 Rust 的首个稳定版本 v1.0 成为 Rust 一个重要的里程碑。

做一个 Rustacean 吧。

简介

  • 基本介绍 介绍环境搭建、常用工具的使用等,同时包含了编译优化,常用命令、三方库等。
  • 标准库简介 包含了常见的字符串、数组、智能指针等等。

包管理

  • 基本概念 包通过 Cargo 管理,这里详细介绍其使用方法。
  • 模块文件 这里会详细介绍 Rust 中模块和文件的映射关系。

基本语法

  • 语法简介 介绍常见的语法,例如变量、结构体、循环、函数、注解等等,其中 字符串 单独介绍 (含动态数组)。
  • 结构体详解 包含了基本的定义,以及使用技巧。
  • 高级语法 包括范型、闭包、函数编程等介绍,其中 宏编程Trait 单独介绍,同时包括了常用特征 整理。
  • 生命周期 这也是 Rust 的核心功能,以此支持安全编程。
  • 模式匹配 这是 Rust 中的一种控制流语句,语法简单但是提供了很多复杂的功能,这里详细介绍。
  • 错误处理 相比其它语言来说略有区别,这里简单介绍。
  • 内存管理 主要包括了 Clone、Copy、Drop 等操作的介绍。
  • 集成测试 包含了基础的单元测试。
  • 智能指针

异步 VS. 并发

异步编程是一个并发编程模型,当前大部分语言都已经支持,只是实现方式略有不同。

  • 并发简介 与并发编程相关的一些基本概念。
  • 异步详解 介绍 Rust 中异步或者 Future 相关的基本概念。

Tokio

其它

常用三方库

  • log 与日志相关的常用三方库使用方式,同时也包含了 Trace 相关的内容。
  • clap 一个简单易用,功能强大的命令行参数解析库。
  • iced 跨平台的 GUI 编程框架。
  • serde 通用的序列化、反序列化框架。
  • chrono 用于时间处理的实现,除了这个库之外,同时包含 std::time 部分使用。
  • crossterm 不错的跨平台 Terminal 库。

参考

  • Play Rust Lang 在线的运行页面,可以用作展示简单程序示例。
  • crates.io 官方的包仓库,可以用来搜索需要的库,以及对应最新版本。
  • RFCs Rust 语言的各个设计提案,可以详细查看其具体特性后面的设计原理。
  • Rust Wiki 很不错的中译版文档,极力推荐,还有 死灵书Inside Rust Blog 有很多内部机制相关文章。