刚接触Rust那阵子,借用检查器简直是我的噩梦。明明逻辑都对,它偏说我这里生命周期不对、那里所有权不清楚,红了一屏的报错看得人想摔键盘。那时候真觉得这语言是在故意跟人过不去。
后来写着写着就回过味来了。它烦你的每一处,其实都是平时写C或者Python时只能等程序跑起来炸了才暴露的坑,比如悬空指针、数据竞争、改了这块忘了那块。Rust不让你"先跑起来再说",逼着你先把数据到底归谁所有、谁能在什么时候动它想明白,代码才放你过编译。一开始觉得是被折磨,习惯之后才发现这等于有个比我还较真的搭档,在运行之前就把八成的雷排掉了。
最上头的是等这种思维变成肌肉记忆,再回头看别的语言,会觉得身上少了张安全网,心里空落落的。从前写脚本那种侥幸心态,反而被它悄悄治好了。