本来是前端,由于 webAssembly 的逐渐普及,从去年开始从 Rust 的那一本教程入手,看完以后又看了 Rust reference,接着看了 Rustnomicon,又大致浏览了一遍 Rust Doc,还有 cargo book。最后总结了以下:我觉得 Rust 应该是昙花一现的产物,因为它实在是太复杂了。
如果你不需要做 FFI 之类的,我个人还是不建议深入学习 Rust,有兴趣当然是好的,但是 Rust 需要花费的时间不是一天两天,对比其他的语言,比如 C,Rust 显得更复杂和困难。
Rust 保证的安全性的代价就是入门曲线很高,对于习惯了脚本语言或者 c 类语言的程序员而言,Rust 显得不是那么友善。我学这门语言更多的是因为学习兴趣很高,时间充沛,但是对于大多数人而言,时间以及语言( Rust 的文档除了教程以外几乎都是英文)问题,或许并不值得去学习。
更为重要的一点是,Rust 标榜的是安全性,对于很多人而言,Rust 的这种安全性根本不知道用在哪里,因为它的实战场景太少了!!! Rust 的最大的开源后台开发库 Rocket.rs ,甚至现在也没发布 1.0 版本,而且更多的是 Rust 目前几乎没有像诸如 java 之类的,甚至是 golang 之类的新语言,一套完善的开发栈可供参考。更多的是自己踩坑,自己挖坑自己踩!
Rust 是门从设计层面就假设你是个有很强逻辑以及经验的程序员,但是这个假设并不是什么时候都成立。Rust 的所有权系统有时候显得很“臃肿”,虽然有诸如 Rc 和 RefCell 之类的 struct 可以弥补。举个栗子来说,很多初学者在看完教程之后,基本的数据结构,诸如双向链表、二叉树之类的,都不能写出来,更糟糕的是,甚至完全没有头脑(我承认我就是这种人)。
Rust 我最爱的是它的宏!如果你是 C 之类的开发者,对 C 的宏忍无可忍,那么 Rust 的宏是真的只能用“美丽”来形容!
如果你是从事嵌入式、图形处理之类的,我强烈建议你深入了解 Rust 这门语言,它的安全性或许正是你所需要的!
Rust 目前是 2018 版本,这个版本修复了很多饱受诟病的 Bug,我很期待这门语言的发展与未来。
总结来说,如果你是一个初学者,或者时间不够,或者精力不够,或者语言(英语)能力不强,那么我建议还是不要碰这门语言了,如果有一天 Rust 发展得无比繁荣,那么 Rust 可以学一学,但目前看来,并不会(求打脸!!!)。
如果你是从事底层开发,对 C 语言的内存泄漏的问题很头大,那么 Rust 很适合你!但同上,时间和精力是问题。