17611538698
info@21cto.com

Bun发布了Rust移植指南,称rewrite仍不完善

为什么bun这么快?(全新的JS/TS 运行时及包管理库)最近前端领域又火了一个东西,名字是bun(官网:bun.sh - 掘金

导读:Zig 语言的“无人工智能”政策与“未来大多数开源代码将由人工智能编写”的观点相悖。为此,使用Zig开发的Bun项目似乎开始寻求新的技术与语言支撑。

有意思的是,Zig的明星项目是一个人工智能项目,它的名字叫做 Bun ,Zig语言是自称比 C 语言还要快的新项目。在Bun的官网上这样标榜自己:

Bun can directly execute .ts and .tsx files just like vanilla JavaScript

Bun 可以执行 ts 和 tsx 文件。

Because Bun can directly execute TypeScript, you may not need to transpile your TypeScript to run in production.

因为 Bun 可以直接执行 TypeScript,你在生产环境下可能不需要作一次转译。

此外,Bun 还内置了类似 Babel 和 tsc 的能力,即提供 TS to JS 的功能,可以为了在开发时或者浏览器里运行的时候方便开发者的调试。

然而,随着Zig不允许使用AI染指该项目后,已经被Anthropic 收购的Bun开发团队开始思谋他路了。

Bun 的创建者 Jarred Sumner 刚刚发布了一份 Zig 到 Rust 的移植指南,引发了人们对该项目可能会从 Zig 迁移的猜测,尽管 Sumner 表示他并没有重写的承诺,只是“很好奇想看看一个可运行的版本是什么样子”。

Bun 是一个 JavaScript 运行时和工具包,它使用 Zig 编写,是Zig的主要用户。Zig 是一种通用系统编程语言,由 Andrew Kelley 设计,旨在改进 C 语言,目前版本为 0.16。使用 Zig 构建一直是 Bun 相对于其竞争对手 Node.js(使用 C++)和 Deno(使用 Rust)的一个显著特点。

虽然如此,Bun 团队已经 fork 了 Zig,声称由于在 macOS 和 Linux 上使用 LLVM 进行并行代码生成,调试编译时间缩短了四倍。

图片

然而,由于 Zig对问题、拉取请求 (PR) 和 bug 跟踪器上的评论都严格禁止人工智能(AI) 参与,这些改进无法合并到 Zig 主干。Zig 软件基金会成员 Loris Cro近几日表示,禁令的原因是“基于 LLVM 的贡献对我们来说大多是负面的,从毫无价值、充满臆想的拉取请求造成的背景噪音增加……到令人匪夷所思的、长达 10,000 行的首次拉取请求。”

关于 Bun 的 Zig 分支,一位 Zig 核心团队成员如此评论说,“这个 Zig 分支中的更改将不被上游所接受”,并列举了几个原因,包括“他们的并行语义分析实现将表现出不确定的行为”,以及将 LLVM 后端输出拆分为多个模块的另一项改进是浪费时间,团队正在投资增量编译,“这可以将编译速度提高几个数量级”。

Zig 的“无人工智能”政策可能开始让 Anthropic 感到尴尬,因为 Anthropic 在 2025 年末收购了 Bun,并将其用于 Claude Code。

Zig 的另一个问题是 Kelley 不怕对语言进行重大更改,这使得它在大型生产项目中更难得到依赖。

近日,Sumner在 GitHub 上提交了一份 Zig 到 Rust 的移植指南,解释说“阶段 A”的目标是捕获逻辑,即使 Rust 代码无法编译,“阶段 B 使其能够逐个 crate 编译”。

图片

图片来源:

https://github.com/oven-sh/bun/commit/46d3bc29f270fa881dd5730ef1549e88407701a5

Sumner 似乎表达了一些自己的意图,但他在 Hacker News 上表示:“我们并没有承诺重写。所有这些代码很有可能会被完全抛弃。我很想看看这个可运行的版本是什么样子,感觉如何,性能如何。”

尽管将 Zig 移植到 Rust 的想法令Bun社区感到些许意外,但这一想法总体上得到了不错的反响。

在 Bun 用户中,有人评论说:“基于一种仍在测试阶段的编程语言来开发产品,这始终让人觉得有点疯狂。” Bun 因其速度和灵活性而备受赞誉,但该项目也一直受到严重的 Bug 和内存泄漏问题的困扰。

可以肯定的是:如果 Bun 继续推进移植工作,人工智能将会被广泛应用。这方面已经有先例。Cloudflare仅用一周时间就利用人工智能重新实现了Next.js API 的大部分功能,而 Ladybird 浏览器项目也仅用两周时间就将其 JavaScript 引擎从 C++ 移植到了 Rust。

不论 Bun 是否要迁移到 Rust,Sumner 都坚信开源软件 (OSS) 将越来越多地使用人工智能。在评论 Zig 的无人工智能禁令时,他在 X 上表示:“我预计开源软件的发展方向恰恰相反:不允许任何人为贡献。” 他说,人们仍然会讨论问题和优先级,“但实际编写代码、提交 PR、回复和处理反馈以及实现代码的行为都将是低级技术。”

作者:场长

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信