Jason Lee 这个 but 让 Ruby 好伤心啊 :)
https://x.com/dhh/status/2086837579907813681

现在 AI 写代码太快了,人根本 review 不过来,而且 Rust 这么烧脑,更加没可能 review 了,只能 Codex review Claude。
既然都是 AI 在做事,人只需要背锅,那出了事人还能解释得清吗,还是说继续让 AI 解释,人就当个传话筒?
没有人可以拒绝 small, dependency-free binaries!所以 DHH 强调的是 Rust 作为一种工具所能达到的效果(toolchain,工具性),而对于语言自身(语言性)来说,DHH 强调 NEVER HAVE TO LOOK AT THE CODE 就表明了他对这个语言本身(语法、语言哲学、API、编码方式)等等的看法。所以,DHH 一如既往的态度我觉得还是没变的。
做到 small, dependency-free binaries 这一点的有很多语言,Crystal 也可以。而且现在我们有 spinel 了 🤪
就像 @Rei 说的,以后完全是看个人或者团队喜欢用啥就用啥。
另外,我才看到 Jason Lee 是 @huacnlee ,从 https://github.com/longbridge/gpui-component 能看到,他们已经在大规模使用 Rust 了。
DHH 的表达挺准确的,AI 时代下的代码如果可以一气呵成,或者说不需要我们去审核、修改,那么 rust 的使用是更好。 否则我真的想手搓 (AI)ruby 脚本去调用你们写的 rust 程序 😄
做 Agent 产品,其实很讲一个扩展性,这时候 rust、go 并非最好的工具,其实看主流 agent 还是 TS、python 做的,OpenClacky 用 ruby 今天看来也蛮不错。
所谓扩展性,就是在主 agent loop 之外,可以继续稳定可靠的进行 vibe coding 获得更多功能性,例如 openclacky 扩展系统设计:https://www.openclacky.com/docs/extension-system
piagent 的自定义性等等。
Ruby、Rails 的思想对我影响非常深,这些思想直到现在,依然对我做各种事情发挥重要作用。
时代变了,不用什么事情都想着用 Ruby 搞,Ruby 只有 Rails 是最好的,其他领域应该找更合适的工具。
很多事情换一个思路来做,会获得更好的结果,Ruby、Rails 哲学依然可以在各个领域用起来的。
然后再说 AI,今年初开始软件行业已经大变革,AI 已经进入我们的行业。这个时候应该拥抱这个变化,让 AI 参与进来。我们以前的思路在 AI 的加持下可以干更大的事情。因此不用守旧担心 AI 写的无法掌控,当年那些三方库你是如何掌控的?我们应该像的是如何利用 AI 来写出更复杂超越我们自身技术水平的代码。
我不仅大规模用 Go、Rust、TypeScript (Bun),还大规模使用 AI,也不手写代码了。
Ruby、Rails 以前的优势在 AI 时代已经没有那么明显和重要了;而以前的劣势(环境复杂、性能)在这个时代依然还在。
换句话说,如果 AI 能帮我们用 Go、Rust 或其他语言开发出跟 Ruby、Rails 一样的东西,并且获得更容易分发的部署方式和更好的性能,那么还有什么理由选它?
新手也来冒个泡。最近也在学习 Ruby,包括阅读一些第三方库的源码(Httparty)。 正是因为在 AI 时代,写代码变得方便了,借助 AI 也完成了一些感兴趣的 web app,并部署上线,这在以前是不敢想的,对于没有太多 web 经验的我来说得学一堆的东西,才能做出一个小而美的 web app。 想了一下:在 AI 时代 Ruby 的优势也没有那么明显了,其他语言开发速度都可以做到比较快。就小白我的体验来说,还是非常喜欢 Ruby,因为代码读起来方便,借助 AI 读代码更方便。 另外个人觉得开发体验整体来说不错,像做 iOS 开发一样,只需要下载一个 Xcode app(安装配置好 Rails)就搞定了,这样前后端不分离,小团队用起来应该是非常爽 hhh。
我觉得有一点优势是自己熟悉 ... 虽然已经不看代码,但是强用不熟悉的框架就比较缺失预判潜在问题的能力,也容易被 AI 糊弄,问题不容易及时觉察/解决。
ps Ruby 的简洁性以及 Rails 在 web 方面丰富完善的工具,也能让 AI 少些很多代码/轮子,从概率来说还是可以降低出 bug 的可能。