聊到最喜欢的语言,我投Rust一票。多数人是被它的报错劝退的,红彤彤的编译错误能刷半屏。但从某种角度看,这恰恰最省心:它把内存安全从"靠人肉小心"变成了编译期就强制执行的约定。
最服气的是所有权和借用检查。以前写C,谁分配谁释放全靠口头约定,出了野指针得运行时崩了才发现,定位能折腾一整晚。Rust在编译期就查清楚"这块内存现在归谁、能借出去读还是写",空指针和数据竞争基本被挡在门外,GC焦虑也没了,move语义直接把释放责任打包带走。
错误处理也值得一提。Result把可能失败的地方明摆出来,你得正面接住,而不是靠异常偷偷往外冒,代码反而更诚实。当然它不是万能,学习曲线陡、编译慢都是事实。但作为怕半夜被段错误叫醒的人,它让我睡得踏实。你们被borrow checker教育过没,聊聊?