用Rust快三年,回头看最大的收获不是性能,是它把内存安全的责任从运行时挪到了编译期。所有权这套机制刚上手确实反直觉,move、borrow、lifetime,编译器天天跟你红脸,一个&mut能卡半下午。但熬过那段头秃期之后思维习惯是真的被改写了——写别的语言也会本能地去想这块内存现在到底归谁。
最香的还是zero-cost abstraction加fearless concurrency。性能贴着C/C++打,却不用半夜被segfault和data race叫起来。以前碰C++重构心里发虚,现在编译器把不安全的路全堵死,敢大刀阔斧地改。说"背锅"其实夸张了,准确讲是它逼你在编译期把账算清楚,运行期就不用还债。
学习曲线陡是真陡,但换来的安心感值这个价。现在新项目要碰系统层的东西,我默认就上Rust了。