What we heard about Rust's challenges
摘要
Rust团队对各经验水平开发者的全面调研报告,揭示Rust面临的核心挑战。
核心发现
1. 编译性能:通用生产力税
- 从新手到专家,所有用户群体都受影响
- Java约100ms,Rust从5秒到1分钟不等
- CLI和GUI开发者需要快速迭代,受影响最大
- 安全关键系统有25-30分钟构建时间
2. 借检查器:先甜后苦
- 新手受借检查器影响最大
- 有经验的开发者基本不再抱怨借检查器
- 但"舒适区"内有时仍会被绊倒
3. Async复杂性:三骑士问题
- Async Rust被认为"完全不同"
- "三骑士":async + generic + lifetimes
- tokio/runtime锁定导致架构决策过早
- 被称为"sadness鸿沟",需要大量投入才能跨越
4. 生态系统导航
- CLI工具和web后端生态系统优秀
- 嵌入式和安全关键系统明显缺乏
- 选择瘫痪:选择太多导致难以做正确选择
- 隐式知识:哪些crate用于什么需要经验积累
关键洞察:"Rust的挑战比'陡峭学习曲线'的常规叙事更微妙,是领域特定且随经验演变的。"
建议
- 投资编译性能 - 视为一等公民语言关注点
- 生态系统指导 - 帮助用户找到合适的crate,改善兼容性
- 背景相关学习路径 - 根据用户背景定制学习材料
- 缩小sync/async差距 - 稳定化async函数在dyn traits等特性
用户引言
"If all the things laid out to make Rust better were done, I'd be happy a Rust programmer. If not, I'd still be a Rust programmer."
— 工程经理采用Rust进行性能优化