Buz – 一个使用现代 Zig 的 Bun 分支,增量构建低于 1 秒
一个名为 Buz 的新项目旨在成为 Bun JavaScript 运行时的即插即用替代品,它用现代 Zig 重建 Bun 的 pre-Rust 代码库,以实现亚秒级增量构建和更清晰的架构。评论者们争论 Bun 是否已经变成“AI slop”,提到约 60 万行混乱代码和 1.1 万行显然无用的死代码,并就用 LLM 进行大规模“deslopification”是否现实或是否带有讽刺意味展开讨论。讨论还扩展到开源运行时的未来(Node、Deno、Bun)、全家桶式工具与模块化技术栈的取舍,以及 AI 生成代码如何重塑软件开发实践。
项目概览与目标
- Buz 是 pre-Rust Bun 的一个分支,用“现代 Zig”重写,并实现亚秒级增量构建。
- 维护者正在积极清理继承来的代码库,删除死代码,并更多依赖 Zig 的 stdlib。
- 早期策略:在代码进入“正常”状态之前,不接受人工编写的贡献;LLM 被大量用于重构和“deslop”这份代码。
AI、“Slop”与代码质量
- 一些人把 Bun(尤其是 Rust 重写)视为“AI slop”的典型:大量、混乱、由 LLM 驱动且难以维护的代码。
- 另一些人强烈反对这种说法,认为 Bun 的 Rust 移植通过借用检查器提升了安全性,并不天然低质量。
- 许多评论指出,用 LLM 来清理由 LLM 帮助生成的代码颇具讽刺意味,但也有不少人表示,只要对 LLM 进行严格引导并借助工具验证,实际效果是成功的。
生态、可持续性与替代方案
- 有人怀疑在没有强大生态的情况下,Buz 能否长期维护;很多人预计大多数用户会继续使用 Bun,或者回到 Node。
- Deno 被提及为另一种现代运行时,但也有人担心它的势头以及公司的稳定性。
- 一些人认为,主要因为“全家桶”式工具链(如 Bun)而选择运行时是有风险的;在许多人看来,Node + 专门化工具已经足够好。
构建时间、Zig 与 Rust 重写之争
- Buz 的亚秒级增量构建被视为证据,证明借助 Zig 和更好的实践,快速构建一直都是可行的。
- 这与 Bun 早先对 Zig 编译时间的抱怨,以及对 Zig 编译器一个有争议的分支形成对比。
- 一些人认为从 Zig 转向 Rust 部分出于政治和生态因素;另一些人则强调 Rust 的内存安全保证。
死代码与维护
- Buz 声称已从 Bun 约 60 万行的基础代码中移除了约 1.1 万行显然无用的死代码。
- 有人对此感到震惊;也有人认为,在大型、快速演进的项目中,1–2% 的死代码很正常。
- 有人怀疑,LLM 生成的代码导致了未使用、未清理的分支和工具。
元话题:JS 工具链与 AI 疲劳
- 多位评论者表达了对层出不穷的新 JS 运行时/框架以及为寻找问题而制造的 AI 生成“解决方案”的疲惫感。
- 但也有人仍然看重 Bun/Buz,因为它们将许多工具整合到一个快速运行时中,类似于一种有明确观点、开箱即用的框架。