Comment by ethin
13 hours ago
Interesting take. Can you link us to your (correct, maybe even formally correct) AI-generated software? Given how general this post is, I assume you wouldn't mind if I extend this to, Idk, aviation or spaceflight, so mind linking to any GH repos you have where you've written code to work in environments like that? I ask because all you said was "making software" and didn't say what kind of "software" we're talking about.
Since you apparently work on this kind of software, here's a challenge for you: take the last several bugs that were reported and paste them into Fable, pointing it at your code.
How long does it take? Does it find the issue? In more or less time than the engineers took?
Ask it to review your code for design and cohesiveness issues. How does it do?
Fun example I've had (some weeks ago), Agent completely dismissed the lack of strong consistency in our db system, this tiny bug would have caused a massive problem in the future.
A bug that is not immediately obvious, no syntax error, logic is sound, works as expected on local and QA envs. But let it run in prod for 2 months and you have a massive problem.
I'm not dismissing LLM's here btw, just pointing out that there is probably a lot of things that go into the category "you don't know what you don't know". These kinds of issues may or may not be a problem depending on the business you are in.
Most of the time the latest models perform better than I expect.
Ouchy. That isn't as bad as the slop I've seen: one example I saw a few weeks ago from vibe-coded software had this absolutely mind-blowing bit of Rust code:
pub(crate) fn zeroed_safe<T>() -> T { unsafe { std::mem::zeroed() } }
pub(crate) fn read_unaligned_safe<T: Copy>(src: const T) -> T { unsafe { std::ptr::read_unaligned(src) } }
pub(crate) fn box_from_raw_safe<T>(ptr: mut T) -> Box<T> { unsafe { Box::from_raw(ptr) } }
pub(crate) fn isize_to_wndproc_safe(value: isize) -> WNDPROC { unsafe { Some(std::mem::transmute::< isize, unsafe extern "system" fn(HWND, u32, WPARAM, LPARAM) -> LRESULT, >(value)) } }
No, I'm not joking either, this is actual code that Claude wrote (and I'm pretty sure it's the latest models too but I don't actually know for certain, since the "dev" never specified). This idiom is repeated about 238 more times through that one file. I have tried repeatedly to help this person out but they're the kind of vibe-coder who thinks they know best, and who will take your advice and drop it into CLAUDE.md verbatim, and then Claude will go off and do the most literal interpretation of that text and not best practice.
To be clear, I don't hate LLMs. They're really useful for very specific things or where you know the domain very well. But then I see slop like this (and the dependency many people have on them -- I have literally heard my own close acquaintances say that they could not see themselves without a Claude subscription) and it really hammers home that software quality is not at all going to get better because of these things unless something changes.
Edit: grammar/spelling
1 reply →
Sorry, but we aren't talking about me here. You were the one who made the claim that AI pretty much makes making software trivial nowadays. Specifically, you wrote:
> Making software is no longer very hard. It's becoming a few steps up from burger flipping. Maybe somewhere around line chef.
You did acknowledge that "some" skill was required:
> There's still some skill involved, but the skill is mostly in manual testing, and accurately phrasing what went wrong. The AI is better at debugging than people are, and the code isn't great, but perfectly adequate for pretty much everything. And it's even fine at system design these days.
All I asked was for you to back this up, since the burden of proof is on you to prove your claim, not on me to prove it for you.
Oh. So, because I said I work in software you assumed I worked in safety critical systems?
Interesting. A little unhinged, but interesting.
Anyways, as I said elsewhere, I don't code for fun, and my employer would be unhappy if I sent you their proprietary code.
You can decide to do some experiments yourself, or you can decide that you don't want to hear it. No skin off my back either way.
5 replies →