street000
V2EX  ›  Node.js

Bun 从 Zig 到 Rust 的迁移已经实锤,下个版本可能成为最后一个 Zig 版本

  •  1
     
  •   street000 · May 11 · 7126 views
    This topic created in 184 days ago, the information mentioned may be changed or developed.

    来自 Bun 创始人的 推文:

    Bun v1.3.14 releases tomorrow.

    Bun v1.3.14 将于明天发布。

    If we do merge the Rust rewrite, this would be the last version in Zig

    如果我们确定合并 Rust 重写版,那么这将是最后一个基于 Zig 语言的版本。

    形式大好,看来迁移主要原因还是内存和崩溃问题:

    目前我对它( Rust 重写版)非常有信心。它已经通过了 Bun 在 Linux (x64 + arm64 glibc + musl)、Windows (x64 & arm64) 以及 macOS (x64 & arm64) 上的所有测试套件。它可能会同时修复大约 200 个 GitHub issue 。目前还在进行重构和简化,相关的博文也还没写。

    我还没看到过任何一个基准测试显示它比 Zig 版本慢。两者的代码库基本一致。它没有使用 Rust 的异步( async )机制,且和 Zig 版本一样,极少使用第三方库。本质上它们是同一个东西,只是 Rust 提供了更好的工具来帮我们防止程序崩溃。

    40 replies  •  2026-07-20 18:26:29 +08:00
    doraemonki
    doraemonki
    May 11❤️4
    1
    Zig 天塌了,生态吹的最狠的项目结果要跑了😂
    vsomeone
    vsomeone
    May 11
    2
    他不是前几天还说 Rust 版本只是 vibe 出来的实验,不太可能往 Rust 迁移吗
    zsj1029
    zsj1029
    May 11
    3
    只能说恭喜,zig 那帮人自娱自乐也挺好
    songray
    songray
    May 11❤️3
    4
    这代表 Zig 版成千上万的 Bug 再也不会修复,很多公司生产上跑的也变成了绝版的孤儿版本。

    我很少说这么有攻击性的话,但谁还敢正儿八经用这玩意跑生产家里真要请高人了...
    mangmaimu
    mangmaimu
    May 11 via iPhone
    5
    R 门😁
    zsj1029
    zsj1029
    May 11
    6
    @songray 有几个生产的会主动升级的,继续迭代的有几个不会升级的呢?你以为都跟 java1.8 一样吗?
    faceair
    faceair
    May 11❤️2
    7
    @songray #4 功能是等价的,那升级不就完了吗?
    chenluo0429
    chenluo0429
    May 11 via Android
    8
    vibe coding 这一波真的利好 rust 。性能高,问题少,生态完整,调试友好。之前的问题最大的就是写起来困难,现在不用自己写自然爽歪歪。
    est
    est
    May 11
    9
    @songray 呃,不是太懂,升级一个二进制的版本,成本很高么。。。 难道有什么 ABI FFI 依赖??
    songray
    songray
    May 11
    10
    @zsj1029
    @faceair

    Bun 每个新版本都一堆用户崩溃提 issue ,很多都是旧的已经修复好的问题又回归了。

    我也相信这里面有不少是 Rust borrow checker 能在编译期发现的,只是觉得更好的做法是立一个新的 bun.rs 项目,好歹把 bun.zig 的老 bug 再维护一段时间。

    反正是开源的,估计 Zig 版也会有人 fork 一份继续维护吧,无所谓了╮(╯_╰)╭
    zsj1029
    zsj1029
    May 11
    11
    @songray 没有破坏性兼容,直接升级,1.3.15 ,所以真不觉得需要继续维护 zig 版
    ninjashixuan
    12
    难道这就是很多事是以开玩笑的方式说出来的。
    liuliuliuliu
    13
    只能说有了无限用的 claude ,这活干起来是快哈
    crackidz
    crackidz
    May 11
    14
    @doraemonki 这就是出尔反尔
    isbase
    isbase
    May 12
    15
    问题来了,Rust 真的 AI 友好?为什么我实测下来几千行规模的项目,AI 用 rust 重写是问题最多耗时最多的
    onichandame
    onichandame
    May 12 via Android
    16
    那和 deno 有啥区别
    yyfearth
    yyfearth
    May 12❤️1
    17
    @onichandame 最大的区别 JS 核心不一样
    Node/Deno 是 Chromium 的 V8
    jjx
    jjx
    May 12
    18
    如果真成了

    其实打击的不是 zig

    而是所有潜意识还看重古法编程的,特别是对框架,库之类的 ai 介入特别敏感的诸位, 包括我自己


    因为这个 rust 版本,主体完全就是 ai!
    CosmoLau
    CosmoLau
    May 12❤️1
    19
    这是好事啊😀
    yolee599
    yolee599
    May 12 via Android
    20
    @isbase #15 Rust 是 AI 最严厉的父亲,编译器就尽可能的把错误报出来,避免 AI 乱来
    wangtian2020
    21
    bun 作者挺喜欢这么搞的,以前他为了证明 nodejs 垃圾 zig 牛逼,他可以写个 bun 出来
    现在他为了证明 AI claude 牛逼也能会 rust 重写,像是他能干的出来的事儿
    wsseo
    wsseo
    May 12
    22
    @jjx 打击的是 AI 编程。为什么还在乎编程语言呢,说明 AI 不堪大用。
    IamUNICODE
    23
    zig 迟迟不出 1.0 就是这样的
    iorilu
    iorilu
    May 12
    24
    ai 时代 rust 是好东西

    rust 基本搞出来就能运行, 不崩溃, 太难的了

    其他都每必要, 真在乎那点性能直接用 c 甚至汇编, 无论啥语言也不可能性能比 c 或汇编强把
    5waker
    5waker
    May 12
    25
    zig 不接受 ai 代码,要不依赖 llvm( https://github.com/ziglang/zig/issues/16270),要自己搞 libc ( https://ziglang.org/devlog/2026/#2026-01-31 ),这些工作要做到什么时候去。
    5waker
    5waker
    May 12
    26
    @5waker 就这些事搞完了语法、编译期校验也不如 rust, ai 编程效果就会差。bun 切 rust 算是意料之外,情理之中了。
    zhouhuab
    zhouhuab
    May 12❤️2
    27
    这等同宣告 zig 的死亡
    irrigate2554
    28
    @songray 只要是兼容的话升级不就好了,搞得更 rust 版本要收费一样
    zxjxzj9
    zxjxzj9
    May 12
    29
    @isbase 因为 rust 是真除了逻辑 bug 以外没别的 bug, 不然你编译都过不去. 这样就算 ai 写的是"错的", 人来写也未必就是对的,只是你逻辑目标设置的有问题而已. 当然这不代表用 ai 写 rust 就能很轻松的让程序正确运行, 但是就我的体验来说重写别的库(尤其是和内核,底层操作的库)这块真的是 rust 的舒适区.
    alleluya
    alleluya
    May 12
    30
    @onichandame #16 deno 又换成 rust 写了吗?
    enpitsulin
    31
    没有 LTS 版本的东西真的有人除了玩具项目敢上生产吗😅
    Bluecoda
    Bluecoda
    May 12
    32
    如果真的转了,并且问题确实都修复了,说明这种基础设施软件,rust 比 zig 优秀太多了
    shiloh595
    shiloh595
    May 12
    33
    R 门🙏
    darson
    darson
    May 13
    34
    如果这么复杂的生产级别项目可以由 zig 转换成 rust 不出错,且保持性能,且免疫明显的内存错误,其他基于非安全语言的项目也可以并应该这么做。期待这个小白鼠试验的效果。
    lycc193
    lycc193
    May 13
    35
    @5waker #9 zig 不接受 ai 代码,和你 zig 的项目用 ai 写有一丝一毫关系吗
    yuhuai
    yuhuai
    May 13
    36
    呃,zig 是被 bun 带火了一波,但是不会真的有人觉得是 zig 离不开 bun 吧...,关于吐槽上游不允许使用 ai 生成的代码我觉得没有问题啊,虽然浪费的时间多,但是 zig 确实走出了一条别人没走过的路,ai 并不具备创造的能力,只有对知识拙劣的模仿,你记住
    yuhuai
    yuhuai
    May 13
    37
    你们可以看下 zig 0.16 的没有语法上的异步,Io 接口解耦了,同一函数可以在任意 Io 实现(阻塞/有栈/无栈)下运行
    5waker
    5waker
    May 13
    38
    @lycc193 不看后面的?他目前的工作不用 ai 要多久才能完成,关键这都还不是语言上的目标。那什么时候才能 1.0 才能不破坏变更?才能让用它的人不用升级一堆麻烦?
    ExplodingDragon
    39
    看了下 bun 已经合并了 rust pr 了 hhhh ,这种项目还是在小圈子自萌去吧,架构/语言说变就变,旧的 pr / issue 完全不管,藐视贡献者玩独裁主义

    https://github.com/oven-sh/bun/pull/30412
    CodeCodeStudy
    40
    @ExplodingDragon #35 我打开 https://github.com/oven-sh/bun/pull/30412 这个页面竟然显示 This page is taking too long to load.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2476 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 11:02 · PVG 19:02 · LAX 03:02 · JFK 06:02
    ♥ Do have faith in what you're doing.