## Rust 开发者视角
在与 Go 共事十年后,一个最近的项目——为 TokioConf 构建聊天服务器——最终促使我深入研究 Rust。借助 Claude 作为一位耐心的“Rustacean”结对程序员,我探索了 Rust 的优势和不同之处。
关键收获是对 Rust 详尽的枚举的强烈赞赏,它提供了编译时安全保障,而 Go 只能通过测试或代码生成来实现。`?` 运算符简化了 Go 冗长的错误处理,但由此产生的隐式控制流感觉有些不安。复杂的类型注解,尤其是在异步函数中,最初令人困惑。
一个显著的区别在于运行时可见性。Go 的运行时在很大程度上是隐藏的,而 Rust 需要显式选择和集成像 Tokio 这样的运行时,从而暴露其内部运作。这种透明度,最初显得复杂,最终揭示了 Go 是一种更隐式的语言。像 `tokio-console` 这样的工具进一步突出了这一点,提供了 Go 的基于快照的性能分析中无法获得的实时运行时监控。
虽然享受学习体验,但我仍然对 Go 在典型工作负载中的权衡感到满意,但也承认未来偏好可能会发生转变。