我这个岁数才开始正经碰编程语言,挑来挑去最后停在Rust上,是被它的"不近人情"劝服的。别的语言把内存错误留到运行时让你半夜惊醒,Rust偏把借用检查器架在编译期,野指针、悬垂引用这类麻烦,代码还没跑起来就被挡在门外。从某种角度看,这是把代价前置的设计哲学,写的时候别扭,跑起来就省心。
模式匹配配上代数数据类型,写状态机格外清爽。嗯状态之间的转移被类型系统逼着交代清楚,漏掉的分支藏不住,编译器替你把着关。cargo那一条龙更不必说,文档、测试、格式化开箱就有,连语言之外的体感都收拾得干净。
初学那阵被borrow checker怼得够呛,学习曲线确实陡,这点值得商榷。但熬过去回头看,"编译过就基本能跑"的踏实感,别的语言真给不了。你们有过被哪门语言治好焦虑的时候吗?