写了快十年代码,C和C++里熬过的夜不提也罢。后来碰上Rust,头一回觉得编译器能当队友而不是拦路虎。
它最戳我的是所有权和借用检查。悬垂指针、数据竞争这种最容易埋雷的东西,编译期就直接卡死,连跑都不让跑。刚开始被borrow checker怼得怀疑人生,改不动时真想砸键盘。可熬过去再看,那些被它拦下来的,恰恰是我以前在C里要debug到天亮的坑。
没GC却内存安全这点也很对我胃口,zero-cost abstraction让性能和可读性不用二选一。嗯cargo一把梭把构建依赖管得服服帖帖,报错信息还特别实在。门槛看着高,其实是逼你把设计先想清楚再动手,反倒治好了我随手就写的坏毛病。
现在新项目能上Rust的都尽量上,踏实。