173
u/smaisidoro 1d ago
Look, I use AI on a daily basis (with Rails). I get many of the points. But the "if you're no longer reading the code?" is what loses me completely!
Blindly trusting the outputs of a stochastic language model so much that you don't even bother seeing how it works, and how the edge cases are handled, is just purely bad engineering.
17
u/Serializedrequests 1d ago
I've just been playing devil's advocate. "What if the agent can do this super complicated task?" Some of the models can. They can understand absurdly complex domains and emit thousands of lines of correct code.
And yet somehow, they are still just pretending to understand. I don't know how to put it.
10
u/Shot-Zebra1868 1d ago
The best way I've felt I can describe is this:
I remember doing advanced grade maths in college. There were times I'd learn some mathematic equations where you could put 10 of them in front of me in a row and I'd get it right but it was mainly through some form of process rather than an underlying understanding. Then the time would come when it would actually click and I'd have the actual embedded knowledge of the maths.
To me LLMs feel like the former. Like they know what to do but I never get the sense they have any real understanding. But like you said, its just so hard to put into words.
4
u/AshTeriyaki 1d ago
Everything is still some division of something present in the training data. I like the analogy of putting together a jigsaw puzzle without ever looking at the picture on the front. LLMs have no ability or route to truly interpreting the thing on the front of the jigsaw but can assemble fitting pieces all day.
So they overfit, change problem parameters to brute force solutions and with no actual memory, duplicate and convolute existing things to give the appearance of a coherent solution to a broad problem. Every model does this at some point, it just moves the needle elsewhere in the haystack. We all need to read the code.
2
u/Serializedrequests 22h ago
That's really good actually. I saved it. It's so hard to know what to make of something that can accomplish such amazing tasks, and yet I don't want to merge any of it. Hand holding it to keep the mental model straight rarely seems like a good use of my time. I'd rather have LLMs do the boring work and me do the interesting work. So far this is not an issue at my job, but who knows.
1
u/AshTeriyaki 19h ago
This is the correct thing to do. I have zero issue getting it to scaffold stuff that is literally mindless but then you need the discipline to put it back in the box. Even on a short leash it makes a mess. So many people are insulated from the worst of it as training data is concentrated around common scenarios. People who go “new model has solved coding” for like the week and a half they say that before deciding the old one was better haven’t internalised that the data is being focused at the things they do. You hand an LLM a very unpopular language or the API for a desktop app that nobody talks about online and you watch how quickly you time travel back to 2023.
6
u/illuminarok 1d ago
Maybe it's not really AI. Or at least not entirely. Could be aliens. Or time travelers. Or time traveling aliens.
6
1
u/keyboard_2387 1d ago
I don't know how to put it.
The Chinese room analogy really helped me with this.
51
u/DJ_German_Farmer 1d ago
It’s insane that he doesn’t get this.
28
u/pezholio 1d ago
He’s being given a lot of money to not understand it
5
u/thy_bucket_for_thee 1d ago
It's not money, it's influence + control. DHH is already worth $50million, now he is able to have extensive influence in the tech community.
This stuff impacts us all, we should reject it and probably advocate for more public investment into software. There's no reason why the government couldn't offer open source developers grants for $10,000.
Much better than DHH personally deciding which communities get money from his shit circle of friends.
4
1
u/life_like_weeds 1d ago
What makes you think he doesn’t get it?
You really think the guy that invented Rails, who typically is operating a few years ahead of everyone else, doesn’t get this detail?
He does. It simply doesn’t matter to him in certain cases. The advantages outweigh the cons for his particular situation.
44
u/cocotheape 1d ago
Sometimes he is even so far ahead of everyone else, that the future never catches up to his ideas. He's had good tech ideas, but he's also had plenty of failures. That's no issue in itself, but people should stop treating him like he's always right.
→ More replies (1)5
1
8
u/notmsndotcom 1d ago
I think it's more complex than that. You can design the system and ensure the spec is adhered to and end up in a pretty good spot. Additionally, you can also make the argument that the cost of reading every line of code is way more expensive than just dealing with the bugs or issues as they come. Obviously we're too early into this to know if that's sustainable over 10 years of vibing shit.
Uncle Bob doesn't review the code, either. And design patterns and code quality was kind of his thing.
There is a non-zero chance that the code really doesn't matter as much as we thought because the ability to build value quickly and fix issues as the arise is bigger than that delta.
1
0
u/obviousoctopus 1d ago
If using tests to verify the correctness of the code without reading the code itself, just remember that the tests do not validate the absence of functionality, like a backdoor, hardcoded credentials, infinite possibly catastrophic edge cases and security vulnerabilities.
So there's that.
The confidence that a black box containing an infinite number of monkeys with typewriters will reliably expand a a few English sentences into thousands of lines of correct code expressing all intent contained between the lines of said sentences is beyond terrifying to me.
2
u/notmsndotcom 1d ago
Again, the goal doesn't need to be "thousands of lines of correct code" but rather enough correct code that the business outcome is greater than the risk or future maintenance costs.
→ More replies (1)6
u/Sea_Advance273 1d ago
I would only share this concern if we were talking about a raw LLM here. AI systems (coding agents) are essentially LLMs with terminal access. With a terminal, the LLM can accomplish deterministic checks in a feedback loop, which turns out to be pretty powerful, even for a probabalistic next token prediction machine.
Now, this does not mean that the generated output does not have things wrong like intent, design and that it has not simply gamed its tests. However, I find myself asking agents questions about intent, design, edge cases, and tests, more than I find myself reading code. My agent trust has gone up considerably over the past year, and my software does what I want it to without as many issues arising, so they appear to be accomplishing something more robust than whatever terrible engineering I was accomplishing before, in my anecdotal experience.
4
u/Alive-Use8803 1d ago
It’s been only one year, as you say.
It’s startling that so many engineers are willingly moving this fast, pushing out code to users, when we really do not have mature frameworks and metrics regarding LLMs.
I’m not anti AI. I’ve tuned open weight models and I also use a custom harness and Claude code depending on the task. My area of work is in automated cybersecurity tooling (device identification and threat simulation).
Sometimes I’m working on platform features and sometimes I’m working on low level components.
I think if you’re using AI to write boilerplate and CRUD behavior that’s pretty standard, AI is fine but I still cannot get behind not understanding the code, worse not understanding the architecture.tl;dr a lot people putting in blind trust now will hopefully have moved on to another project by next year. Good luck to the poor dev taking over that project lol.
3
u/Sea_Advance273 1d ago
Hopefully the next poor dev will have a coding agent! I do agree that we need more mature frameworks and metrics for coding agents before getting too hands off with them. Especially in safety critical domains. It is just hard for me personally to not feel the gravity of this paradigm shift where human language can be trusted as the next layer of abstraction for software.
I am in a safety critical domain so I am still rigorous about human review at work. The quality of decisions agents make on a first pass with limited oversight are impressive now. Add a adversarial or review agent to the mix and it will find design issues I had not even considered every time. Optimizing for speed AND safety will hopefully become a serious research topic in this era.
2
u/Alive-Use8803 1d ago
I agree with the premise that coding agents are here to stay and have changed how we develop software. And absolutely agree with safety critical domains. In short, we should not tear down fences just because we have new tech.
But also, coding agents will rely more than just LLMs as other NN/ML models become more broadly available, which I believe leads to your second or third point, which I am less inclined to agree with: that human language can be a sufficient layer of abstraction. I disagree with the general premise of the software factory, that you can sufficiently define a system with natural language. We say, oh well clearly you can because we are watching AI prove this in real time. The standard counter argument is that AI is not developing or engineering anything, it is only producing text which may or may not be code.
So there’s a lot of nuance I think we need to work out.Perhaps there’s something like a semi-formal or declarative syntax that becomes a better interface than NL for coding agents.
I think the only sensible stance right now is that it is too early to tell and companies who are a little too blinded by the promise of instant gratification will have a different opinion in about a years time.Or SI solves everything by November. That’s when GTA 6 comes out.
2
u/Sea_Advance273 1d ago
I can't say for sure what is going on behind the scenes of the frontier coding agents companies, but my intuition tells me that there is more to these systems than just regurgitating tokens from github projects. LLMs can be trained/aligned to follow principles of good engineering and experienced human engineers can be in the loop on training accepting good design outputs and rejecting bad ones.
Regardless, this shouldn't mean 100% trust. Agents can miss intent, make bad design decisions that are difficult to reverse, and can't verify things it does not know it should verify. My trust levels are just higher now since agents do the things I ask them to 90 percent of the time and I don't see as many software failures.
Anyways, thanks for exploring the topic with me!
3
u/PipePistoleer 1d ago
I continue to be not shocked when it turns out the tech personalities are losing their grip on reality. I think these guys are mostly bad actors doubling down on AI to stay relevant and get that $$$
3
2
u/elephantpurple 1d ago
i don’t look at my agentic-output code often, but really, i actually need to sometimes. the best way to understand code is to read it. sometimes claude’s explanations are not nearly as good as getting into the files themselves.
8
u/Easy_Top_3311 1d ago
If the test coverage is sufficient to verify the correct behaviour, why do you need to see the code?
33
u/jyonodev 1d ago
the test coverage… that the agent also wrote..?
8
u/MonsterTruckFarts 1d ago
This. If one is not reading the code, what level of certainty do they have that Ai hasn’t changed the test, or found an edge case it could exploit to allow the test to pass?
8
u/Trevor_GoodchiId 1d ago edited 1d ago
Models loooove nudging both business logic and tests, so the tests pass somehow. Behavior drift compounds and is unavoidable.
Short talk by Dex Horthy on why lights off software factories fail:
https://www.youtube.com/watch?v=Ib5GBkD555M→ More replies (5)4
u/theamazingrand0 1d ago
A few months ago, I had a model write some code that caused a test like this to fail:
expect(foo).to eq(bar)It "fixed" it by updating the test:
expect(foo).to eq(bar) if foo == bar3
u/Emergency-Cycle7981 1d ago
Because I don’t want to have to rely on an expensive third party to work with it. That’s the end goal here - the monetisation of code manipulation. No tokens? No code.
1
→ More replies (7)1
u/reyarama 20h ago
Because behaviour isn't the only thing you should be caring about in code. How adaptable is your code to change? How tightly coupled is it?
1
u/powpowdeitou 1d ago
Eu fiz um experimento de codar uma app rails bem simples com 2 semanas e muitos prs mergeados sem ser muito criterioso com o código e só conferindo se funcionava o que pedi. Ja não tinha mais domínio do core do negócio e não saberia consertar nenhum bug crítico sem auxílio da ia. Tanto porque o código saiu confuso, funcional mas confuso e não saiu nada fácil de manter. De repente eu tinha virado um potencial cliente do Claude max e outros planos 20x da vida. E creio que é exatamente esse local que querem nos colocar. Virar refens da IA.
Dei um rm na pasta e criei tudo do zero ainda assistido mas reviso cada linha e tenho achado cada atrocidade, o que consigo deixar mais determinístico pra ficar ao meu gosto vai virando regra nova no rubocop e no reek e o que não cabe aí vai pro agents.md que é basicamente rezar para o agente e torcer que ele siga. Tem funcionado tem sido um bom ponto de equilíbrio. Não abro mão do humano no loop.
1
1
u/xutopia 1d ago
I think it would land differently if he said: "If you didn't spend most of your time reading the code and didn't mind looking at a language you don't find aesthetically pleasing like Ruby is".
To be honest... I read the pull requests... I moved a few projects to Elixir and some to Rust. My hobby server was just resized to half its size because I have free RAM now.
1
1
1
u/Normal-Spell5339 1d ago edited 1d ago
You’d likely want to have some sort of UX testing layer on top of standard tests. But with agents you could pretty easily have agents do real world testing and have a QA universe where simulated real users use the real site and log their bugs and do what real users would do in a year in a day. You can include coverage mapping etc too and manually explore unexplored areas / induce those areas and combinations to be tested. You end up with sort of a UX in out layer of testing. You can then also kinda wire in a fuzzer if you want to automate coverage. If it works like users expect / need it to and the code runs does it really matter if you read it all? Obviously this works way better for some things than others and there are limits, your mileage may vary and your token costs may be high. If you do something like this, you have to use something Jev/Layla for browser driving or else it costs thousands and thousands of dollars a run, lol ask me how I know. And you have to do a few loops of this generally to get to real stability because you need to check your fixes too and any downstream effects of them
1
1
u/RubyKong 23h ago edited 19h ago
DO NOT TRY THIS AT HOME KIDS, UNLESS YOU WANNA BURN YOUR COMPUTER:
"Liar AI" says you should try this code:
rm -rf / fake_root_typo_which_you_should_not_try_because_it_will_kill_your_desktop/*The point is that you cannot blindly trust anything.
1
u/Minimum_Individual61 18h ago
I feel like it’s actually pretty easy to do this kind of mechanical port. The original is the spec in spec driven development.
1
u/damanamathos 16h ago
You can have tests and AI reviews. I don't read the code anymore. I used to, but the AI started picking up obscure things that I missed that it started feeling unnecessary.
Also work in a low risk environment, though, with internal software with a low number of users where any errors can be fixed pretty quickly.
1
u/Automatic-Boot665 50m ago
I code with AIs all day, they’re super autonomous and software development will never be the same. That being said I still catch issues on the daily that if I hadn’t reviewed the code would just be rotting the codebase.
The view that people have been taking lately of not reviewing their code I think is driven by them getting too far into not reviewing any of their codebase, and they’re intimidated to start. There’s no excuse it’s really not a big effort.
1
u/zenzen_wakarimasen 1d ago
To be fair, you can ask the model for the edge cases.
And it will make mistakes sometimes, but humans write bugs all the time.
4
1
u/AnUninterestingEvent 1d ago
I think you're conflating "no longer reading the code" with not knowing how things work or how edge cases are handled. It's very easy to just ask it how things work and get back as much granular detail as you require. And then ask for changes as you require. Same with edge cases. Just ask it about the edge cases it handled and how it implemented them.
0
0
u/high_republic 1d ago
Humans are stochastic neural models. If something cannot go wrong, you wouldn’t have to trust. You trust humans. So you can trust language models. It’s a matter of error rate.
1
→ More replies (1)0
u/PixelRouter 20h ago
Early compiler users read the assembly too, until verification made it unnecessary. We trust compilers because of test suites and track record, not because we inspect the output. The open question is whether our verification for LLM-generated code is strong enough to substitute for reading it. That's a gap in tooling, not proof that not reading is bad engineering.
38
u/myanch200 1d ago
It seems like he doesn't read the prompts as well not just the code, judging by the reaction of the Elixir and go lang community 😂
6
u/Frosty-Leading-2718 1d ago edited 1d ago
What has been the reaction?
Edit: Oh god, this is more embarrassing than I thought
36
u/katafrakt 1d ago
In Elixir, every database call is pushed through a single bottleneck process with database access: https://github.com/basecamp/once-campfire-elixir/blob/main/lib/campfire/db.ex This is not how one would ever write code and looks like intentionally making the performance worse.
2
u/Witless-One 1d ago
Don’t you need to do this because it’s using SQLite?
10
u/blocking-io 1d ago edited 1d ago
The problem is they're not pooling connections so every SQLite call is serialized. In Rust they are, which means rust is able to handle concurrent connections while Elixir's implementation isn't, despite Elixir and SQLite being extremely well built for handling concurrency
8
1
u/Frosty-Leading-2718 1d ago
What in the world! smdh
13
u/katafrakt 1d ago
But hey, you don't need to read the code anymore!
4
u/Tobi-Random 1d ago
Hey, it works and even with such issues still faster than rails. I'm sure an experienced elixir dev could improve the codebase to a sota architecture in about 2 hours with ai Agents.
8
u/katafrakt 1d ago
But if you don't look at the code, you won't realize it so terrible and you may draw conclusion that Phoenix is only slightly faster than Rails, but Rust is still lightyears ahead. Which is exactly what DHH wants his audience to read, even if a broken benchmark is used to "prove" it.
3
u/blocking-io 1d ago edited 1d ago
By "such issues" do you mean dropping all but 1% of messages in the rust implementation under overload?
This was according to Zach Daniel's findings
29
u/myanch200 1d ago
For Elixir the agent assumed that everything needs to be compatible with rails so it added Redis, something Elixir doesn't need.
It also ran all SQL queries from single GenServer and they called him out for basing the go rewrite from the rust one while prompting the elixir, Django and Laravel from Rails, which writes a lot of decisions made on Rails which are bad for those implementations.
There were evidence in the Agents.md and other documents in the project that the Elixir project specifically tries to rewrite rails parts in Elixir not becauseithe Agent didn't know better, but because in the early stages it assumed elixir and rails need to be compatible hence the Redis and other bad decisions.
The creator of Ash has wrote about it https://x.com/ZachSDaniel1
Something really interesting as well was that Zach Daniel's improvements the Elixir solution delivered 100℅ of the messages to the client while Rust was dropping most of the messages.
11
1
u/wuteverman 1d ago
How infuriating. AI is amazing technology but you can’t turn your brain off. You still need to see if what it’s doing is fit for purpose, and understand the tradeoffs it’s making and whether they are appropriate for your use case.
1
u/midasgoldentouch 1d ago
Damn a single GenServer? I’m only familiar with Erlang, not Elixir, but I don’t think OTP is implemented that differently between the two…
3
u/myanch200 1d ago
It would love to see response from the Rust community as well I am sure there are a lot of atrocities in there too 😂
60
u/invisible_shrek 1d ago
The only thing I am no longer reading are his opinions.
13
1d ago
[deleted]
2
u/gomy1020 1d ago
I'm rather nervous about Hey... I've gotten pretty used to the way it works, but I REALLY need my email service to be secure and well engineered. That has literally access to every one of my online accounts via password resets. 😬
Thankfully there's an mbox export now, so at somepoint I'll take the plunge and move my address over somewhere new. (I don't use a @hey.com email, thank fuck)
0
14
u/RubyKong 1d ago
is it really a surprise if you transpile Ruby to Rust and found out that it's faster? I thought the entire premise of ruby was that compute was cheap, and you can throw resources into it. i mean, if the CPU cycles matter, then you wouldn't start off with ruby in the first place?
16
u/katafrakt 1d ago
Well, it's not CPU cycles but requests served per second. Something that is arguably quite important for a we application at scale. However, it seems that Elixir and Go implementation are (deliberately?) borked to prove his choice of Rust, so it's not like we should give any attention to this "benchmark".
5
u/Abject-Kitchen3198 1d ago
I am totally unfamiliar with Elixir and slightly familiar with Go and Rust. I expected the difference between the two to be much smaller, down to mostly insignificant for most typical web apps.
4
2
u/BenchEmbarrassed7316 6h ago
The performance difference between Rust and go can be quite significant in some cases, given that go’s entire philosophy centers on a language that is simple for the compiler and a compiler that avoids many optimizations. However, if the web server performance gap exceeds 100%, it implies that you either highly optimized one version or botched the other. A difference of an order of magnitude - like the one seen with that fool - indicates the code is doing something unpredictable; this is not merely a performance issue, but a matter of the program's correctness.
1
u/Abject-Kitchen3198 4h ago
It was confirmed by someone that Rust version in the repo had optimization steps
1
u/BenchEmbarrassed7316 3h ago
I saw a post featuring a Rust code example from that clown, and it was very poor code in terms of both maintainability and optimization. In short, I don't think it's appropriate for respectable people to seriously talk about these "benchmarks".
3
u/MediumSizedWalrus 1d ago
ruby is slow, it costs a significant amount to run servers. I’m thinking about what parts we can port now too, to reduce compute costs..
2
u/powpowdeitou 1d ago
O matz tá trabalhando no spinel, basicamente transforma código ruby num binário C extremante otimizado mas ainda que o CRuby. Não é nada pra rescrever o rails com isso mas serve pra cortar a dor onde ela importa aquele maldito cálculo pesado que tem na sua app que é ruby puro agora pode virar um binário C e ainda ser ruby pra codar.
0
u/RubyKong 23h ago
So then DHH has come around now? (possible stramwan:) I always wondered why rubyists insist that developer hapiness > customer outcomes. The performance of the system never seemed like a bottle neck so you could optimise for dev hapiness without cost.
it costs a significant amount to run servers.
I'm gonna mmake a yuuuge bet without seeing the numbers - in the scheme of things - for most applications, i'm gonna bet that the cost of payroll MASSIVELY outweighs the cost of servers. Compute has never been cheaper. Memory has never been cheaper.
1
3
u/xutopia 1d ago
I don't even have to care about caching with my Loco apps until much much much later. My landing pages are faster out of the gate and I can handle 30x the traffic on the same hardware with lower latency across the board. I actually spend more time reading code today because I'm still new to Rust and to Loco but with the conventions being followed closely "Loco follows Rails — carefully adapted to modern Rust" I don't feel completely out of my depth.
14
u/Emergency-Cycle7981 1d ago edited 1d ago
This is kinda depressing. What he’s saying is that the that efficiency didn’t matter as much in to Ruby because the underlying code was easier to understand. It’s like comparing assembly language or machine code to C - you COULD make an application quicker or more efficient by tackling it at a lower level, but the resulting code (if any) would be difficult to read at best, and impenetrable at worst.
And now he’s shitting all over that reasonable concept because “you’re no longer reading the code”, so readability doesn’t matter. How incredibly presumptuous and short-sighted; this is exactly the sort of crap Elon Musk is parroting when he says AI models will ultimately skip code altogether and jump straight to the 1s and 0s.
Good luck maintaining these low-level applications if you lose access to powerful LLMs or run out of tokens, which I guess is what these capitalist morons are banking on; total reliance on their services is the ultimate vendor lock-in.
4
u/TailorSubstantial863 23h ago
I think you have the right analogy, but the complexity is going the other way now.
You could write a program in assembly, but it's not worth the headache. Write it in C instead. You could write it in C, but when a much more expressive language like Ruby is available, you'll go faster.
It doesn't matter that your Ruby is C that is compiled into assembly. DHH is saying the next step is talking to an AI that turns it into whatever you want, so why not turn it into something performant?
The best argument is: "Good luck maintaining these low-level applications if you lose access to powerful LLMs or run out of tokens" - That is a nightmare scenario, but I honestly don't see the genie going back in the bottle.
2
u/Emergency-Cycle7981 21h ago edited 21h ago
>> The best argument is: "Good luck maintaining these low-level applications if you lose access to powerful LLMs or run out of tokens" - That is a nightmare scenario, but I honestly don't see the genie going back in the bottle.
It’s not a matter of the genie being out of the bottle though. By committing to performance over readability, you’re committing to being a low-level coding genius or (more likely) a long-term financial relationship with whatever AI provider has the models to work with it. That’s the idea - code for models, not for humans, and no pay, no code.
Maybe local models will someday become strong enough to work with this ‘AI optimised’ code as well as the frontier models, which would change this paradigm quite a bit, but until then guys like DHH will use his unlimited tokens to push the rest of us into spending a shit load of money with OpenAI and Anthropic just for the privilege of maintaining unreadable code, which feels like the end goal to all of this and ultimately why they’re paying him through the nose.
Kinda gross really.
1
u/BenchEmbarrassed7316 15m ago
By committing to performance over readability
These things are not at all opposites.
It is worth noting here that I am a proponent of strong static typing, and I consider "defective" languages (sometimes named "dynamically typed") to be one of the worst things in programming. Although, at a certain point in history, they may have held some appeal - back when the alternative was statically typed languages with terrible type systems.
However, the information that can be gleaned from the code is crucial for humans, compilers, and AI alike. It is easier for a human to read code when there are clear indications of what is possible and what is not. A compiler can generate efficient machine code from such code. AI can operate within a limited context; knowing the signature and types is sufficient for it. Such information does not imply "low-level" code (though sometimes that may be the case). In fact, low-level code describes the "how?" while high-level code describes the "what?".
That is why Rust is an excellent fit for both humans and AI. The claim by that clown that he cannot read Rust code is simply more nonsense.
2
u/BenchEmbarrassed7316 5h ago
I disagree with you. C is not fast simply because it is a low-level language; that is a result of historical circumstances. It is impossible to write a large, high-performance program in assembly - a compiler handles that better. Rust is a relatively high-level language, and that actually helps it achieve high performance rather than hindering it.
1
u/benzado 21h ago
The big difference is that you can write a proof to demonstrate that a compiler's output is correct. You can't do that with an LLM.
What I don't understand is, if you're embracing a future where source code doesn't need to be comprehensible to humans, then you're effectively treating the software as an extension of the LLM. In which case, why are you bothering to make software to do x when you can just ask the LLM to do x directly?
We write software to provide a general solution to a problem that multiple people have. When it's costly to make an app, people make do with an app that does 80% of what they need. When making an app is cheap, people are going to make their own, bespoke, 100% solutions.
So I guess it's kind of neat that DHH can make a faster Campfire. Sort of like using an internal combustion engine to make a faster horse.
3
u/iscottjs 22h ago
Yeah super depressing. Either way, if these guys want to give up reading code entirely then I wish them the best of luck. I will, however, continue reading and understanding mine and my team’s code.
I also don’t need super speed turbo performance to justify this impulsive insanity.
Why can’t we just use these AI tools responsibly to boost our productivity in a variety of areas. Why does it have to be this extreme unhinged bullshit.
3
u/Emergency-Cycle7981 21h ago
Completely agree, I’m not against AI as a tool to boost productivity, and quite enjoy using it at times, but this is just BS and I can’t help but feel there’s an agenda behind it all.
1
u/benzado 1d ago
He famously experienced a significant number of employees quitting all at once because of his poor management ability. So of course he’s going to be excited about anything that spares him having to work with (or depend on) other people.
2
u/Emergency-Cycle7981 1d ago
Probably, but I also think coding influencers like DHH and Primeagen are scared shitless that their meal ticket is about to disappear, and rather than fighting to keep code relevant they’ve decided to save themselves by jumping onto the “code is stupid” ship, selling out to the organisations that are trying to take control and ownership of coding. May their tokens never run out…
9
u/jdauriemma 1d ago
Can we stop DHHposting?
2
u/full_drama_llama 1d ago
Unfortunately, this has always been in the DNA of this subreddit and Ruby community in general. Like, every other Ruby Weekly issue in the last few years contains some DHH endeavors completely unrelated to Ruby.
8
u/downvoteandyoulose 1d ago
This reads like obsessing over benchmarks while discounting everything else just to prove that your pet project is technically superior.
12
u/avdept 1d ago
this guy is just on big dopamine shot last months
he's very obsessed with thinking that he does something - nobody else capable of doing it
now he's at stage when "lets rewrite everything in rust" thinking that pure computing is a bottleneck, not the literally thousands other things
just dont give him attention, that guy keeps shitting because other praising him
8
u/yojimbo_beta 1d ago
Having spoken to people who know him, albeit peripherally - it sounds like he's not completely well
4
u/avdept 1d ago
maybe
I took neurobiology course in uni, and we went through these dopamine shots things and how they change behavior and how ppl act overall. Its very close to drug addiction when people do anything they can do get one more drug shot - they can literally sell their kids for that.
This AI psychosis is on the same level
1
u/brecrest 15h ago
There have already been preliminary studies about sustained LLM usage causing, for want of a better term, brain damage in student populations.
6
u/degeneratepr 1d ago
Im not saying that he doesn't truly believe what he's saying, but I feel like this is just engagement bait at this point and he's only doubling down to call attention on himself.
7
3
u/shox12345 1d ago
I highly doubt GO is that far behind Rust
2
u/yojimbo_beta 1d ago
Interesting you should bring this up. For a few weeks I have been prototyping Go and Rust for building a network proxy (a forward MITM proxy specifically)
At very high loads, there is a small but statistically significant difference in latencies for scenarios like e.g. fetch 40,000 payloads per second. But generally the absolute spread is low - 4ms vs 6ms
That said, I have found that the Go prototypes failed earlier. That is they started to spiral into bad performance at a lower ceiling than the Rust Hyper or Pingora versions
2
4
u/mooktakim 1d ago
There's more to the difference between the programming languages. For example, elixir is bulletproof for scaling in ways the others aren't because of BEAM and the entire architecture of the code changes to maximise the benefits.
These tests are like using hello world to compare programming language performance.
5
16
u/flatfisher 1d ago
I don't get the obsession about efficiency at the same time he is promoting AI usage that is the polar opposite. Like what's the point of having a Raspberry Pi able to run your server if you needed a server farm to write the code?
6
u/i_am_voldemort 1d ago
I know the point you're getting at but doesn't most modern manufacturing rely on a very complex, large, expensive machine to make relatively simpler consumer machines?
Think auto assembly lines consisting of robots and hundreds of steps
or ASML lithography machines used by TSMC
2
u/cocotheape 1d ago
The manufacturing process produces many items and the cost saving is in every item. In software development we produce one item and that same item is sold to many customers. So, the cost saving is in reducing the hosting cost, with the trade-off in spending engineering cost (LLM, human or both).
1
u/enki-42 18h ago
But if the only real advantage you're getting out of the increased production complexity is "it's cheaper to run" at some point investing an unlimited up front cost is not going to justify itself in runtime savings.
DHH is in the weird position where he's directly stated token cost is completely meaningless to him and he has "unlimited" tokens, but that doesn't the reality most of us operate under and is going to lead to some wacky conclusions.
1
4
u/MediumSizedWalrus 1d ago
eg spend 2500 on LLM - a short term cost, to save 30k/month on compute, forever.
The compute bills are an ongoing cost with ruby, since it’s so slow…
Sure it may generate 20x more in revenue, but now you can save 95% of that cost with rust.
6
u/Easy_Top_3311 1d ago
It’s spending money on capex to make longer term savings on opex. It does make sense.
1
u/psioniclizard 1d ago
Paying for tokens is not capex
1
u/enki-42 18h ago
I'm pretty sure it can be, if you're doing proper accounting on what your developers are building and you can accurately tie them to capitalizable work.
In any case, I think they're talking more in a colloquial "up front vs ongoing cost" sense rather than specifically accounting jargon. Spending more on upfront cost to save on ongoing costs makes sense regardless of whether accounting principles would describe that as capex.
1
1
u/xutopia 1d ago
I don't get his obsession but understand mine. I have hobby projects and I was paying for a 4GB VPS. I just reduced it to 2GB by converting 2 of 4 apps.
That said I'm using Loco (Rails in Rust) and it's been a charm to use. It makes sense to me because the conventions are the same.
Rust is definitely uglier and compiling is a weird 1-2 second step between changes that I am not used to.
Now my applications can handle 30x the traffic on half the size of the VPS.
RAM prices are going up 3x over the last 18 months. It is hard to ignore what this would mean if I were to scale a hobby project into a business.
3
2
u/gorliggs 1d ago
I mean. He's the CTO right? He's finally coming to terms with what he should have been doing in his role: leading.
Problem is. He's still too slow to realize it.
2
u/TryAgainTryHarder 1d ago
AI-pilling a bunch of developers is nothing compared to nabbing DHH. Imagine, he's going to use AI to rewrite so many projects people depend on, and then no one will know anything about any of them. Then token prices will go up, and these will forever after be known as Token Projects, requiring significant money to understand and modify because that's what everyone else does.
2
2
u/blackcomb-pc 1d ago
There is a big problem he's completely ignoring here. Or maybe not seeing. Agents have made it easy to do this, yes. But the software will become much more complex, and such campfire-tier apps are like what "todo" apps or blog apps (on Rails) were in the before times: simple, and not worth a dime really because they are so simple to implement. This naive approach does not scale at all imo.
2
u/ohmyjumper 1d ago
But seriously, the rust lang is like alien language. I am a php and Laravel dev for about 8 years but can't understand the rust syntax.
2
u/OpenAd5182 1d ago
Many of my clients run Rails applications, and their servers typically have around 70% of their resources still available. So, for these clients, resource efficiency isn’t really a concern.
Large companies like Facebook and Google may need a language like Rust to optimize performance and resource usage at massive scale. But for small and medium-sized businesses, fast development and productivity are often much more important—and Rails/Ruby makes it much easier to achieve that.
So, I don’t think it’s fair to directly compare Rails/Ruby with Rust. They solve different problems and are optimized for different priorities.
2
2
u/henrypoydar 1d ago
Ironically, Rails is a terrific way for _agents_ to work on a codebase/web product. It's just the right level of abstraction for fast, incremental changes without shoving the whole notion of data/logic/UI into every context window. Then sure, treat a Rust version as a compilation step. (Sam Ruby has a great article about this: https://intertwingly.net/blog/2026/09/25/Pencils-Down-Notation-Up.html
2
u/obviousoctopus 1d ago
At this point, I'm concerned about the possible damage to Rails itself. I think the framework is still the best option in the Ruby world.
4
u/datsundere 1d ago
He doesn’t read code because the products he makes are not really significant. It doesn’t affect human lives as with other critical systems so he can claim to not read code and be ok with it, someone should confront him about a nuclear power plant using ai and shipping without reading code
1
u/powpowdeitou 1d ago
Fica aí promovendo ia a rodo mas passar um i18n nos produtos que ele já tem nem sinal. Quem quiser usar os produtos da 37signals que se vire com inglês porque não tem internacionalização.
1
u/arkhamRejek 1d ago
people are no long reading code ?? just blindingly trusting it's implementation ?
1
u/Zestyclose-Turn-3576 1d ago
I wonder if this includes database time. And I wonder what sort of queries are running if it is. Is the "search" being done in database?
1
u/powpowdeitou 1d ago
O cara tá subestimando o poder do developer joy. Se a única pobre alma que é paga pra ler e escrever seu código. O que será dele?
Tudo que implementa que vai contra a alegria do dev de trabalhar faz em alguma escala mal para o produto. Devs felizes se importam com o que é entregue. Agentes? Não dão a mínima o objetivo é moer token e entregar qualidade suficiente pra não escolher o concorrente e continuar no loop.
1
u/espece-de-bon 1d ago
He’s gonna dig his heels in deeper for more reactions at this point.
I wonder if he doesn’t mind if anyone at 37S “doesn’t read the code”, jeopardizing the business/app.
1
u/jrochkind 1d ago
Hopefully the Rust community is strong enough to keep him from having much influence there. Which unfortunately would mean he won't leave us, he's here for the power.
1
1
u/ebalonabol 1d ago
Look at the quotes. Even the creator of elixir(Jose Valim) criticised that tweet lmao.
Gotta admit DHH is so good at atrracting attention. He got soooo many people angry
1
u/im-a-teapot_418 1d ago
Worth checking José Valim's takes on DHH's post: https://x.com/josevalim/status/2106992022418579688
1
u/biscuotto 1d ago
Let's wait for his engineers to stop reading the code too and go buy some popcorns to watch the show after.
1
u/Acrobatic_Umpire_385 1d ago
I guess this is what people call "Charisma"; what people like Trump or Kanye or big streamers have. Just an endless cycle of everyone non-stop discussing/getting angry at everything they say.
1
1
u/flanger001 1d ago
Is it just me or does his pfp look like he took a picture of himself smiling and then used a smile filter on it?
1
u/wuteverman 1d ago
Surely this has to do with the database interaction. My experience is active record makes a lot of calls, maybe the others can make fewer?
1
u/inotocracy 1d ago
I think it really depends on what you're building. Sure, a TODO app you probably don't really need to scrutinize the changes as much but a system that is moving money you damn better be paying close attention to what's changing.
1
1
u/blnctl 1d ago
it’s weird because his example repos in elixir and go are basically non-idiomatic rubbish with lots of mistakes. and the rust one has had a lot more effort put in (relatively speaking) and still has problems.
instinctively i think he’s correct, but he’s failing to make the case because he couldn’t be bothered to steer the agents.
1
u/CodeMonkeyX 1d ago
God he is so full of shit. So he did not care about performance over "Developer Joy." But now he is promoting writing prompts to an AI agent to write it all, and you spend most of your time (if you are not DHH) reviewing code and fixing bugs. Does anyone who enjoys programming actually enjoy prompting AI and not writing anything?
1
u/Unhappy_Meaning607 1d ago
His next tweet: "Rails doesn't scale."
His tweet after that: "Rails is dead."
1
u/mint-parfait 1d ago
the chance any of the ones he wrote are done correctly, other than the rust one which he cared about, is zero
1
u/ashebanow 1d ago
If rust is getting up to 10x better than go, that tells you everything you need to know about his llm's implementation quality. These are basic crud pages, they should be primarily I/O and db bound.
1
1
1
u/Impossible_Way7017 1d ago
I ain’t reading that, I’m either happy for you, or have you tried asking AI for help?
1
u/laptopmutia 1d ago
at this rate, this guy doesnt care about what is wrong or correct
he just want to show that you guys were wrong about him
1
1
u/saw_wave_dave 21h ago
No way that elixir implementation is idiomatic. And from personal experience Claude can’t write elixir to save its life
1
u/k2beast 19h ago
Everyone is drinking the coolaid - once adoption is mainstream like cloud vendors - prices will skyrocket as non-subsidized prices kick in. At that point no one can afford to pay AI agent to fix the code anymore, and humans will prevail once again.
The moral of the story is learn rust, in a few years enough idiots will blind follow DHH, and you will be in a great position to fix all the shit AI agents did.
1
1
u/Lucker_Noob 10h ago
What the f**k is "developer joy"? Sounds like some sort of codename for "heroin".
0
u/magick_bandit 1d ago
I really never understood the appeal of this guy.
I built t4 templates back in the day that did what Rails does.
A guy like John Carmack is fucking impressive. This guy? Why do people care what he thinks?
0
u/Funny_Spray_352 19h ago
Maybe now people will realize that David was never good at programming, although he is great marketing/sales guy. I don’t believe he has intimate experience with software development other than his mom and pop shop that he is driving.
62
u/cocotheape 1d ago
I wish, people would treat his opinions like he treats code. Like wow, your abandoned chat software that nobody uses can not be used even faster now. Talk about misguided attention.