Living in the Weimar era of Ruby
本文为原文前 6,000 字符的节选翻译,完整内容请查看原文。
Much has been said about the DHH keynote that he gave at RailsWorld. To me, it was the voice of a person in an existential crisis, but also a very jaded one. “Look how I don’t care anymore, and you should not care either” is not a great message when you are the headline speaker at the conference - let’s call it CareConf - that you have, yourself, lobbied for.
关于 DHH 在 RailsWorld 上发表的主题演讲,外界已经议论纷纷。在我看来,那是一个正处于存在主义危机中的人的声音,同时也显得非常厌世。“看,我再也不在乎了,你们也不应该在乎”——当你作为自己极力促成的会议(姑且称之为“CareConf”)的头牌演讲者时,这并不是一个好的信息。
The message from the supreme leader was clear: we vibe-rewrote HEY in a more performant way, it worked great, we neither need nor care about Rails anymore. I honestly believe that, instead of amassing even more applause via vitriolic truth-bombing, he could have just left the toy he no longer loves - including its community - in peace. But here is the thing: the rich and famous losing interest in the good stuff does not oblige the rest of us to. If anything, it frees up the room. 🧭 I am currently available for contract work. Hire me to help make your Rails app better!
这位最高领导人传达的信息很明确:我们凭感觉重写了 HEY,性能更好了,效果很棒,我们不再需要也不再关心 Rails 了。我真心认为,与其通过尖酸刻薄的“真相炸弹”来博取更多掌声,他本可以安静地放下他不再钟爱的玩具,包括那个社区。但问题在于:名流权贵对好东西失去了兴趣,并不意味着我们其他人也必须如此。如果说有什么影响的话,那反而腾出了空间。🧭 我目前可以承接合同工作。雇我来帮助你优化你的 Rails 应用吧!
I must admit that for a few days I felt very depressed about it all. Not about “AIs writing all the code” - that much is clear to me, and I do not lament the changing landscape of the craft - I do lament the landscape of usage, which is a topic for another article. It is abundantly clear that the LLMs are here to stay, that typing every single line by hand is no longer sustainable, and that the scales have shifted profoundly.
我必须承认,有几天我对此感到非常沮丧。不是因为“人工智能编写所有代码”——这一点我很清楚,我并不哀叹技术领域的变迁,我哀叹的是使用方式的变迁,那是另一篇文章的主题。显而易见,大语言模型(LLM)将长期存在,手动输入每一行代码已不再可持续,天平已经发生了深刻的倾斜。
What made me depressed was just how little care there was about the Ruby ecosystem and community, and the disdain with which David flushed the entire Rails and Ruby culture down the drain for the sake of “running it on a single Raspberry Pi”, as he put it. What I am actually observing is something different: a renaissance, even though quite a few prominent Rubyists have moved on to other stacks - which are now much more open to exploration, as you don’t have to write all that… gunk - let’s call it what it is - by hand.
让我沮丧的是,人们对 Ruby 生态系统和社区的关心竟如此之少,以及 David 为了他所说的“在单台树莓派上运行”而对整个 Rails 和 Ruby 文化表现出的那种不屑一顾。我实际上观察到的是另一种景象:一场复兴,尽管不少著名的 Ruby 开发者已经转向了其他技术栈——这些技术栈现在更适合探索,因为你不需要再手动编写那些……垃圾代码——让我们直呼其名吧。
A detailed unpack of 7 little-endian integers is not particularly interesting, nor artistic - it’s just gunk, and I won’t miss it. Unless struct packing is needed to make it fast, but then we can always art-direct additionally. There was an interesting time in German history, right between the two World Wars - the “interbellum”, the time of the Weimar Republic. It was very turbulent, and a lot of it wasn’t pretty in the slightest - social difficulties, unemployment, incredible inflation, squalid living conditions, the emergence of the wildest movements, cabarets and cults imaginable… but there was also something else.
对 7 个小端序整数进行详细解包既不有趣,也不艺术——那只是垃圾,我不会怀念它。除非为了速度需要进行结构体打包,但那时我们总能进行额外的艺术指导。德国历史上有一段有趣的时期,就在两次世界大战之间——“战间期”,即魏玛共和国时期。那是一个非常动荡的时代,很多方面一点也不美好——社会困难、失业、惊人的通货膨胀、肮脏的生活条件、各种狂野运动的兴起、难以想象的歌舞表演和邪教……但同时也存在着别的东西。
The “Roaring Twenties” of Weimar Germany also produced an incredible number of great, whimsical, fascinating artistic movements. From the Bauhaus to the Berlin gay cabarets, from Kurt Weill to Fritz Lang’s Metropolis - it was a booming time, and a lot of what appeared then is still valued and cherished today. And it was a technological boom as well - the ever more widespread use of electricity, the large-scale deployment of modern pharmaceuticals, the subways, the automobile… fascinating times.
魏玛德国的“咆哮的二十年代”也产生了大量伟大、奇特且迷人的艺术运动。从包豪斯到柏林的同性恋歌舞表演,从库尔特·魏尔到弗里茨·朗的《大都会》——那是一个繁荣的时代,当时出现的许多事物至今仍被珍视。那也是一个技术繁荣的时代——电力日益广泛的使用、现代药物的大规模部署、地铁、汽车……迷人的时代。
I know how that era ended, and no - that is not the part of the analogy I am after. The part I am after is this: the old order had lost interest, nobody was in charge, the ground was shifting under everybody’s feet - and that is precisely when the most interesting work got made. Great turmoil, great industrial change, no adult supervision. Sound familiar? And the Ruby community has always been artistic, as early as the work of _why. Aesthetics were, after all, what drew a lot of people into Rails.
我知道那个时代是如何结束的,不,那不是我想要类比的部分。我想要强调的是:旧秩序失去了兴趣,没有人负责,每个人的脚下都在发生变化——而这恰恰是产生最有趣作品的时候。巨大的动荡、巨大的工业变革、没有大人的监管。听起来耳熟吗?Ruby 社区一直以来都具有艺术性,早在 _why 的作品中就体现出来了。毕竟,美学正是吸引许多人进入 Rails 的原因。
The fact that you didn’t need the parentheses. The fact that thingswerenotwritteninoneword as if invented by a Dutchman, that there was no “this is an attribute and this is a method” confusion… a lot of things about the language were just aesthetically brilliant. And with the abundance of new tooling, the right mindset to look at the state of the ecosystem is this: José Valim @josevalim Replying to @nateberkopec You are right but it also feels short-sighted? You have the most powerful tool you ever had, you have become a 1000x maker, and you can’t think of how to make your stack 10x better?
你不需要括号的事实。事物不是像荷兰人发明的那样写成一个单词的事实,没有“这是属性,这是方法”的混淆……关于这门语言的许多东西在美学上都是极其出色的。随着大量新工具的出现,看待生态系统现状的正确心态应该是这样的:José Valim @josevalim 回复 @nateberkopec 你说得对,但这是否也显得目光短浅?你拥有了有史以来最强大的工具,你已经成为了 1000 倍的创造者,却想不出如何让你的技术栈提升 10 倍吗?
Yes, Rust is fast, the type system catches bugs, but there is so much beyond it.* Why not make Ruby 10x faster?* Why not make Ruby (and therefore Rails) really great at concurrency?* Why not add a banging type system to Ruby that can provide guarantees beyond Rust?* Why not embed SQLite3 into Rails with a replication protocol so you can really compress the stack beyond a single server?* How to preemptively fix most bugs from the most critical parts of Rails, such as database pools?
是的,Rust 很快,类型系统能捕捉错误,但除此之外还有很多东西。* 为什么不让 Ruby 快 10 倍?* 为什么不让 Ruby(进而 Rails)在并发方面变得非常出色?* 为什么不给 Ruby 增加一个强大的类型系统,提供超越 Rust 的保证?* 为什么不将 SQLite3 嵌入 Rails 并加入复制协议,从而真正将技术栈压缩到超越单台服务器的水平?* 如何预先修复 Rails 最关键部分(如数据库连接池)中的大多数错误?
Yes, who cares about ActiveSearch, but there are so many ways we can fundamentally improve our stacks that go beyond asking the agent to just crap out code. Phoenix is still the only framework that ships with presence, because it turns out it is deceptively a hard problem to solve correctly, but somehow all issues are solved? I understand some folks have no interest in doing any of the above, and that’s fine, but then at least pass the baton to the people who want to do exactly that. PS: I say all of this with love ❤️ September 26, 2026
是的,谁在乎 ActiveSearch 呢,但我们有很多方法可以从根本上改进我们的技术栈,而不仅仅是让代理生成代码。Phoenix 仍然是唯一自带 presence 功能的框架,因为事实证明,正确解决这个问题具有欺骗性的难度,但不知何故所有问题都解决了?我理解有些人对做上述任何事情都没有兴趣,这没关系,但至少把接力棒交给那些想做这些事的人。附言:我怀着爱说出这一切 ❤️ 2026 年 9 月 26 日
Why, of all the things we now can do in Ruby, do we choose to do Rust vibe-rewrites? Of course, the story goes, all of those apps we have will just magically transform into accelerated, opaque binary blobs of SIMD goodness - with the LLMs translating our every decision, explicit or implicit, with the rigours of comparison testing (or by reading tea leaves matrix coefficients). Why even spend precious tokens on improving the gardens we already live in if you can raze them to the ground and replace them with glorious concrete? But of course nobody ever does that And, luckily, the razing and replacement is not the only thing that is happening. Otherwise the story would be all too sad. See, there was a sizeable number of problems with the Ruby runtime and the “scene” that were, technically, just “too much”. It would be a pain to generate a PDF wi
在 Ruby 现在能做的所有事情中,为什么我们选择进行 Rust 风格的重写?当然,故事是这样的:我们拥有的所有应用程序都将神奇地转化为加速的、不透明的 SIMD 二进制代码块——由 LLM 通过比较测试的严谨性(或通过阅读茶叶矩阵系数)来翻译我们的每一个显式或隐式决策。如果你能把我们居住的花园夷为平地,换成辉煌的混凝土,为什么还要花费宝贵的 Token 去改善它们呢?当然,没有人会真的那样做。幸运的是,夷为平地和替换并不是唯一正在发生的事情。否则这个故事就太悲伤了。你看,Ruby 运行时和“场景”中存在相当多的问题,从技术上讲,它们实在是“太多了”。生成 PDF 会很痛苦……