Posted by an0malous 1 day ago
But yes, I think RoR's selling feature was developer ergonomics, which suddenly seems less of a benefit if developers aren't the ones writing the code. Readability and conciseness still has benefit, but the trade-off of worse performance (and less static checking) is suddenly more questionable.
Have a look at fly.io facing similar issues, another platform whose value prop was dev ergonomics: https://fly.io/blog/kurt-scott-money-sprites/
There is an issue with this idea - we write software, we read it, we make sure it does what it should do, that it’s implement in a sensible and efficient way, and, most importantly, we make sure the tests do what they should do.
If you no longer write the code, it’s harder to understand it. If you don’t write the tests, you need to trust the LLM did both jobs correctly (multiple adversarial LLMs can help), but, ultimately, it’s code you can no longer claim you understand. And you can’t really be sure it does what you want until you understand it.
What a strange time. Kurt himself writes that they've had the best quarter ever, and yet he feels confident enough to steer the ship in a completely new direction.
If you don’t build the product that’ll kill your cash cow, your competitors will.
I think they're good at it for a variety of reasons, but it likely helps having a smaller and newer community than many languages, meaning less out of date guff clogging up the LLM sources.
Additionally, the features available in the BEAM and OTP mean the agents have built-in tools for many things that would require reaching for 3rd-party libraries or even additional services. This means less variability in design as the models will happily use all the language features human developers would have to learn about and understand over time to use effectively. Not that this isn't important, but I believe models do a better job steering you to obvious and optimal solutions with Elixir.
The new type system is only going to make it better.
Elixir runs on the BEAM which lets you do hot code reloading process at a time. And these are much more lightweight than your typical OS process. So you can do things on the BEAM which would be just crazy to do on other achitectures. Like if you have a server which needs to support a million users, it would be insanity to run a million separate OS processes for the job. But BEAM processes are so lightweight that you can do that, which gives each one isolation from misbehavior of the others.
And since these support hot code reloading, without restarting the BEAM's OS process, you can patch the code for your user's sliver of the server and do a sort of "what-if" experiment. Other architectures would require you to implement separate test environments or complicated feature flag systems, but the beam lets you just reach out and change it for just the process you care about--you're not baking the experiment into an OSI image or anything so dangerous as that... blast radius is kept small.
And the steps for carrying out this experiment, it's all doable at the elixir shell. You connect to the BEAM and make changes. That's a tremendous reduction in context that an agent needs to load--context which would otherwise instruct the agent about how to reason about the deploy process and how to wall off your experiment from others so as to not cause problems with it is just answered implicitly by how the BEAM works.
Elixir compiles to BEAM bytecode, so you get all of this because the BEAM is cool. As for Elixir as a language... I don't think there's anything agent-specific about it. Gleam might be a better choice since it's statically typed and also compiles to BEAM bytecode except that it's not as popular as Elixir, which is probably more important.
You can also do all of this in the language that started it all: Erlang (Java : JVM :: Erlang : BEAM) but it's not exactly fashionable at present (similar to java vs like... kotlin or clojure or something).
Disclaimer: I'm more of a fan than a seasoned pro. I'd love to actually be working with this stuff daily, but my team wouldn't have it because they prefer familiar things and pain.
> It is impossibly fast. And you know what? The binary? Half a megabyte. Half a fucking megabyte. I— you could fit that on a floppy disk almost. With a little compression. This is the other payoff.
The guy now(?) thinks like a lossy abstraction that speaks in tropes.
He has become the LLM - I would say, if I didn't know that even a 9B one can tell me with absolutely certainty how much space there is on a fucking floppy.
There is no reason to get into all the politics stuff when this is where the guy is at. Basic fact retrieval.
(Pedantically, one could now argue that it was not clear which floppy format the guy was referring to. And yes, that would be true, but by thinking that thought, you have thought about the sentence more than its author has.)
I'm missing something (as usual) because I don't see what's wrong with his statement.
Overanalysing someone's spoken sentences isn't the badge of honour it might appear to be.
You've never made a minor mistake during a presentation? (I await your confident "no".)
All DHH's AI opinions are sponcon.
But he has great flagging support and his perception management agency will suppress this one, too.
dhh says 37signal's apps for Hey (their email platform moving to native)
backend for their email platform is now Rust - written by agents
says Rust produces small binaries - cutting number of servers needed from 110 to 10. hell they could serve peak traffic on a Raspberry Pi
says now that agents write all the code - use faster / native languages.
rails or ruby hardly get a mention besides that they might be well placed to capture web apps written by agents.
Keep in mind DHH is working on an email app, it makes sense he sees native as the default option for that over pushing everything through the web when the barrier to entry lowered dramatically.
Hotwire is not explicitly a cross-platform concept. It's primarily a way to build web apps in the browser which is not going away any time soon. The only difference is in 2026 you're just more likely to vibecode a native mobile app than build a web/React Native version. Likewise you may build a native Desktop version instead of an Electron wrapper.
So even if we can generate an app easily now, is that a wise choice for every business?
Server side rendering makes sense for mostly static content, but for web applications, a front end framework and a back-end API are a much better match.
- A lot of this is looking at an existing app and/or code for reference.
- The people doing/guiding this are skilled.
- Skilled people have thought out what to make.
Otherwise they hear "20 minutes" and think AI can spit out a logical or good product from no reference or planning.
Ruby is an interesting language to work with. I don't know it like Python, but it's a language that finds problems developers would run into and built solutions in to make it easier.
As for Rails, as a total novice: It is a lot of Convention over Configuration, and it's almost a second language on top of Ruby. Everything works together implicitly so you have to recognize what's happening when you look at the code. I don't know if any Ruby/Rails oriented IDEs exist that guide the developer with hints and shortcuts to how the pieces of a Rails app fit together, but it sure would be handy.
I can see how typed, high-performance languages with explicit references to all the integrations would be easier for AI to handle. But as long as humans sometimes have to look at the code, I would think Rails still has a place.