前言
学习Progamming Rust这本书的笔记.
首先Rust是一个系统语言, 啥是系统语言? 或者说系统语言针对什么?
- OS
- 设备驱动
- 文件系统
- 数据库
- 硬件
- 密码学
- 流媒体
- 网络
- 容器,虚拟机
- 等等
好多哦,基本上底层的都涵盖了. 或者说系统编程语言在资源有限环境下工作.要榨干内存的每个单元和CPU的每个周期.
那Rust能干什么, 解决困扰了工业界多年的问题. 都有啥? 且听本书娓娓道来.
本书的组成
-
好好看完前五章: 基本类型, 所有权, 引用
-
六到十章可以跳着看: 表达式, 错误处理, 模块, 结构体, 枚举与模式匹配
不要忘掉错误处理!!!
-
十一到十三章也要好好看:trait和泛型, trait下的操作符重载和很多使用的trait
- 读完十一章之后,就有闭包和迭代器
-
剩下的就是集合, 文本, 输入输出, 并发, 宏, 以及黑魔法unsafe
好啦, 开始第一章: 为啥用Rust?
为啥? 为啥不用C/C++… 好像大家都喜欢骂CXX… 但是CXX从未被超越. 写CXX的大概是人形编译器吧.
1. 未解决的问题
- 安全代码不好写. 啥是安全代码? C/C++想要正确管理内存特别难. 从1988年的蠕虫病毒, 大家都饱受折磨. 是兰德里的苦楚哒!
- 多线程代码好难写! 但是多线程是榨干现代硬件的唯一办法. 多线程bug还不好稳定复现, 死锁折磨人.
Rust来啦, 一个安全且多线程的语言, 性能和