Bun 在尝试利用人工智能从 Zig 迁移到 Rust

目前来看,AI 似乎加速了开源项目的锈化(指将项目的部分或全部代码使用 Rust 重写,之所以这么称呼请参考 Rust 一词的本义),曾经因为用 C++ 写操作系统而闻名的 Andreas Kling 前段时间也宣布开始用 AI 把他原本用 C++ 写的 libjs 用 Rust 重构了。

2 个赞

虽然我觉得rust不错,不过这个看起来是个噱头。它有动力更换语言,但是现在明显只是一个营销手段。以前我觉得zig不成熟,这个新闻倒是让我产生了对zig的兴趣,以后看看zig语言。zig这个语言有它的坚持,对现在ai的营销直接拒绝是真是难得。linux现在都是一种跟着ai走的样子了。所以当初对华为的鸿蒙的看好还是没错。鸿蒙这样的组织会走得很稳,前途光明。所有不对ai的开发设置明确界限的项目,以后看来都会崩溃。

这能带来多大的好处?zig效率也很高啊

有空的话,我会学学 rust, 但是我怀疑我会比较少用到它

rust 的追随者其中有一部分是出于意识形态原因(但谁不是这样呢?),倾向于否定之前的语言,这一定程度上引发了一些人对于 rust 的反感

我觉得 rust 流行的原因,除了营销和宣传之外,还有一个算是(大众)心理转向的因素。如果不考虑社会心理和政治环境,也有心理成因。脑力劳动本身就比较消耗能量,最让人不能忍受的很可能是“决策疲劳”。程序员需要不停地做技术选择,大到选择技术框架和平台,小到选择一个数据类型。在这种状态下,rust 这种能够提供正确性保证的语言确实有吸引力,虽说追求正确性也要付出一定的代价。

1 个赞

其实有Async rust的话说不定还不如Zig呢

作者的原话:“We haven’t committed to rewriting. There’s a very high chance all this code gets thrown out completely.”

大概率就是Anthropic push 给了压力,因为 Zig 不接受 AI 的代码,所以没有办法影响 upstream。再加上 Anthropic 反正有无限度的 token 给他随便用,所以反正就是写个 Markdown 的 prompt 就完事了,正好挑战一下 AI 当前的能力上限在哪里。反正一行代码自己也不需要写,100 万行代码看也看不过来,目前 Phase 1 连编译都不需要通过,这个除了是一个 experiment 之外,不能意味着任何事情。

当然了,我倒是不怀疑哪一天 Bun 真的会迁移到 Rust,毕竟 Anthropic 爹给的压力还是很强的,而zig官方又拒绝接受任何的 AI 代码。但是绝对还不是现在

4 个赞

我觉得用AI写rust的一个好处是可以在编译期就纠正很多错误。

3 个赞

Bun v1.3.14 releases tomorrow.

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

I have pretty high confidence in it at this point. It passes Bun’s test suite on Linux x64 + arm64 glibc + musl, Windows x64 & arm64, and macOS x64 & arm64. It likely closes about 200 github issues. Still refactoring & simplifying. Still need to write the blog post.

我以为说说而已,还真要合啊。一个礼拜搞定了

2 个赞

虚晃一枪,带球过人

它如果真的完成了转换,那我只有respect。bun被收购以后不使用zig是可以预期的,但是如果真能这么快转换,那么也是一个大新闻了。

2 个赞

pr 合并了,rust代码正式进入bun项目了

我现在的心态就是那句话。不是不相信,真想开开眼。看看后面是否真的能用

2 个赞

阿珍你来真的

突然想起了deno,当时node如火中天,deno要用rust改写。当时也有网友天塌了。

看到这个绿色的 +1009257 我是真没绷住,token 自由具象化

看来是是实锤了,所以问题来了:Bun 曾经的卖点是“最成功的 Zig 项目”,但是现在这个卖点没有了,我还有什么理由不去用 Deno? :thinking:

那你怎么还没用上 Deno?我早就在用了。

等等,我那句话让大佬产生误会了?我有说我没在用 Deno 么? :thinking:

那我比较奇怪,如果在 bun 重写之前就在用 deno,应该不会肤浅到认为 bun 和 deno 区别只在于用什么语言写的吧。

1 个赞