Bun 的 Rust 重写:工程哲学的冲突
Bun 的 Rust 重写:工程哲学的冲突
Zig 软件基金会认为 Bun 的 Rust 重写是一种解脱
Zig 软件基金会(ZSF)对 Bun 决定将代码库重写为 Rust 表示强烈赞同,认为此举是 Zig 项目与 Bun 的工程实践之间必要的分离。ZSF 称,这一转变消除了一个“净负债”,因为 Bun 作为一个高调但糟糕的 Zig 代码示例而存在。
对代码质量和工程的根本分歧
ZSF 认为,Bun 的开发充斥着“无责任感的软件工程实践”,这导致了关于内存安全的批评——这是 Zig 经常争论的焦点。
对 Bun 代码库的技术批评
ZSF 指出原始 Zig 实现中的若干具体技术失误:
- 技术债务: 代码库被描述为“在 hack 之上再 hack”,以鲁莽的特性交付速度忽视了 bug 的消除和代码的反思。
- 断言滥用: ZSF 将断言的滥用视为质量低下的主要标志。
- Comptime 滥用: ZSF 称他们多年来一直警告 Bun 团队滥用
comptime和inline,这影响了编译时间和二进制体积。 - LTO 误解: ZSF 质疑 Bun 声称 Rust 重写的性能提升来自链接时优化(LTO),并指出 Zig 在 Bun 存在期间一直支持 LTO。
“工程资源”争论
ZSF 认为,消除 bug 需要投入足够的工程资源,而不是仅仅依赖语言特性。他们以 TigerBeetle 为例,说明该项目通过严格的努力和与 ZSF 的健康关系,在 Zig 中保持了高质量。
管理与文化摩擦
除了技术问题,ZSF 还描述了 Zig 项目与 Bun 领导层之间的职业关系破裂。
领导力与工作文化
ZSF 将 Bun 创始人 Jarred Sumner 描述为拥有“初学者的能量”——他们认为这对学生是积极的,但对管理者而言是问题。文章引用了公司内部沟通不畅、期望不切实际、同理心缺失的报告,并引用 Sumner 的公开声明:“Oven 将是一场磨砺”,暗示重视工作与生活平衡的人可能不适合。
风投融资与收购的影响
ZSF 认为,从开源心态转向风险投资支持的创业公司,使 Bun 的优先级转向“创业公司的退出策略”和生产力幻想,最终导致被 Anthropic 收购。ZSF 指出,收购后对 Zig 软件基金会的捐赠停止,预定会议被忽视,双方关系实际上已经结束。
社区响应与反驳
ZSF 观点的公布在开发者社区引发了激烈讨论,反应分为认为其诚实令人耳目一新和认为其语气不专业两派。
为 Bun 的实践辩护
Jarred Sumner 对 Bun 未使用模糊测试的指控作出回应,提供了多个 pull request 作为 Fuzzilli 集成以及通过对 Zig 代码进行模糊测试而修复的 bug 的证据。
对 ZSF 语气的批评
许多社区成员认为,对 Jarred Sumner 的公开批评是“人身攻击”,对一个严肃编程语言项目的领袖而言不专业。批评者指出,将“负责任的工程实践”作为内置内存安全的替代方案是一种薄弱的 Zig 销售点,认为要求开发者“更努力”才能获得 Rust 提供的相同安全性是一个不具吸引力的提议。
对 AI 与 Rust 的看法
一些观察者指出,LLM 的兴起通过帮助处理借用检查器,使 Rust 更易于使用,这可能削弱 Zig 的主要优势(简洁性),而 Rust 仍然保持其安全保证。