Rendered at 16:10:22 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
vivzkestrel 1 hours ago [-]
- in about 5 yrs of time, this is not going to age well
- massive studies ll come out on how 50% of the software engineers dont know or understand what they "generated" at all and how their critical thinking skills have taken a nosedive
- every major software company out there that is busy firing juniors now is going to run into the opposite problem: finding talented juniors and they ll command a hefty pay
- the whole LLM premise runs on one little assumption that they ll improve indefinitely. you are forgetting the law of diminishing returns
- i ll come back here in 5 yrs, this whole thing wont end well
embedding-shape 33 minutes ago [-]
I wonder if people said the same when compilers first appeared in the software development scene.
> the whole LLM premise runs on one little assumption that they ll improve indefinitely. you are forgetting the law of diminishing returns
To be honest, I think I'd remain happy if they just stayed at the level they are now, maybe bit faster and cheaper (and ideally more energy efficient), best would be to run it locally too, but I don't really need them to get "better" to make good use of them at this point.
benoau 6 minutes ago [-]
The difference is you can trust the compiler without knowing what System.out.println("Hello, World!") is going to ultimately look like, and the vast majority of what compilers output will never need human intervention to fix something or human oversight to ensure correctness and fitness for purpose.
w29UiIm2Xz 20 seconds ago [-]
The problem of transcribing println into bytecode being 100% correct is a different problemspace than transcribing vague product requirements into features.
foco_tubi 20 minutes ago [-]
“FORTRAN should virtually eliminate coding and debugging.”
— FORTRAN Preliminary Report, 1954.
tim-projects 2 minutes ago [-]
Relative to punch cards and writing in machine code, I imagine the statement was entirely correct. And still is.
win311fwg 39 minutes ago [-]
Not since the advent of the compiler have most developers understood what is being generated. Their efforts have instead gone into validation (often manual, but sometimes automated) to see that what was generated works as expected as that is all that really matters to the business goals.
Which is still where the effort is going, although there does seem to be more interest in automated validation now, which is welcome progress.
ChrisLTD 8 minutes ago [-]
This is certainly overstating the difference between compiled code and the source code. If I write an if/else statement, I understand what the computer is going to do when it's evaluated even if I don't know or see the literal machine code.
QuantumNoodle 2 hours ago [-]
It really depends on th SDLC of the codebase. I've sat in the park with a pad and pen and wrote down ideas for a small-ish utility that had both a DB and some low level systems interaction. I designed all the interfaces, control flow, and user facing ui. A decade ago I was designing class diagrams with public and private methods, then coding it up. Today I can articulate it with loose words and have it come to life.
The secrete ingredient here is... Im an experienced programmer, I know what to ask and what to look out for. I know sockets and how devices work under the hood and which knobs are available for me to turn. Juniors just don't have enough experience. The question should really be "what do inspiring programmers do?"
thewhitetulip 2 hours ago [-]
People loke you're the minority. Most people use the brilliant strategy if "prompt and pray"
Because of AI speed is valued over everything else
QuantumNoodle 43 minutes ago [-]
Some of the code bases I have at work are legacy spaghetti -- hard to reason about. I too employ the prompt and pray strategy and then see if CI fails. I can only be surgical where I already have a grasp on the codebase, or if I was involved from the beginning.
Morally, I dislike what AI is doing to the profession. Rigor is suffering.
10 minutes ago [-]
jleyank 5 hours ago [-]
Debugging. Lots of debugging. It will be interesting when the researchers look back in 5-10 years to determine which was easier/better - trying to understand generated code vs generating code one understands.
If a functional reasoning layer is added to the current lookup level, “do you want fries with that?” might be in their “doing”. If this doesn’t appear in a timely fashion, de-slopping code will be their lot.
bluefirebrand 2 hours ago [-]
> It will be interesting when the researchers look back in 5-10 years to determine which was easier/better - trying to understand generated code vs generating code one understands
We don't need to wait 5-10 years, we have plenty of experience with this already! Software devs always want to build their own because building it is way easier than grabbing something someone else built and understanding it!
erelong 48 minutes ago [-]
Programmers collect visions to express in natural language, then loop attempts to express the vision until it is actualized
sturza 3 hours ago [-]
Design. And redesign.
Kim_Bruning 3 hours ago [-]
and specs, and tests, and smoke tests, and more specs, and updated specs.
And don't forget processes!
luckystarr 2 hours ago [-]
And reading reports, endlessly.
sdevonoes 3 hours ago [-]
Compilers also write code (they write machine code based on high level langs)… yet nobody asked the same question about them (or did they?)
AI needs to be instructed and then some kind of verification of the output is needed. Programmers do that
datakan 3 hours ago [-]
Bad analogy. Compilers don't reason, they don't hallucinate. They take the language as given and "compile" it to the equivalent binary based on strict definitions in the language. It's reproducible and consistent. Saying they write code is factually wrong, at best they translate it.
AI will do the same thing in multiple ways or veer of course and do it another way based on spoken language with no strict syntax. It will make logical leaps, it will guess, it will assume etc.
These things are not equivalent at all.
win311fwg 1 hours ago [-]
The analogy is fine. AI moves us up to a higher level language, and it is understood that higher level languages come with their own leaky abstractions, but the idea remain the same. It is different, but only to the extent that would be expected from stepping up to the next higher level. It's not something completely different. We don't yet have AGI that will magically produce the software before you even knew you needed it. We still need a programmer to write the programs.
duncanfwalker 1 hours ago [-]
It might not be the perfect analogy, but it does show some important parallels and differences. Compilers reason to some extent - for example type inference is definitely some deductive reasoning that I would have to do if the compiler didn't do it for me.
The hallucinations point is a difference and one that we haven't quite learnt to handle yet. Generally, compilers are deterministic (even it it might not feel like it sometimes) and there's a lot of useful properties that come from that.
I have recently put Claude into a CI/CD pipeline and it's made me realise how much I rely on pipelines being deterministic.
win311fwg 54 minutes ago [-]
> Generally, compilers are deterministic
Not really. Maybe more so than they used to be thanks to deterministic algorithms becoming faster, but most compilers still aren't deterministic by default. There are still advantages to non-determinism in compilers, like not having to worry about thread execution order. To be fair, most compilers these days allow you to optionally enable determinism. Then again, LLMs also allow you to optionally enable determinism.
foco_tubi 16 minutes ago [-]
> LLMs also allow you to optionally enable determinism
really? Please explain
madikz 7 hours ago [-]
Interesting question. I work on AI for document processing, and I have found the same dynamic: generating a first pass is easy, but the real engineering goes into the verification layer.
invalidOrTaken 37 minutes ago [-]
I have people skills! What the hell is wrong with you people?
madikz 7 hours ago [-]
Edge cases you never think to test: that's where AI output breaks. I deal with this daily in document processing.
whytevuhuni 2 hours ago [-]
Probably dance.
win311fwg 1 hours ago [-]
Same as before? A fancy compiler that is able to accept code written in natural language still requires a programmer to write the source code.
- massive studies ll come out on how 50% of the software engineers dont know or understand what they "generated" at all and how their critical thinking skills have taken a nosedive
- every major software company out there that is busy firing juniors now is going to run into the opposite problem: finding talented juniors and they ll command a hefty pay
- the whole LLM premise runs on one little assumption that they ll improve indefinitely. you are forgetting the law of diminishing returns
- i ll come back here in 5 yrs, this whole thing wont end well
> the whole LLM premise runs on one little assumption that they ll improve indefinitely. you are forgetting the law of diminishing returns
To be honest, I think I'd remain happy if they just stayed at the level they are now, maybe bit faster and cheaper (and ideally more energy efficient), best would be to run it locally too, but I don't really need them to get "better" to make good use of them at this point.
Which is still where the effort is going, although there does seem to be more interest in automated validation now, which is welcome progress.
The secrete ingredient here is... Im an experienced programmer, I know what to ask and what to look out for. I know sockets and how devices work under the hood and which knobs are available for me to turn. Juniors just don't have enough experience. The question should really be "what do inspiring programmers do?"
Because of AI speed is valued over everything else
Morally, I dislike what AI is doing to the profession. Rigor is suffering.
If a functional reasoning layer is added to the current lookup level, “do you want fries with that?” might be in their “doing”. If this doesn’t appear in a timely fashion, de-slopping code will be their lot.
We don't need to wait 5-10 years, we have plenty of experience with this already! Software devs always want to build their own because building it is way easier than grabbing something someone else built and understanding it!
And don't forget processes!
AI needs to be instructed and then some kind of verification of the output is needed. Programmers do that
AI will do the same thing in multiple ways or veer of course and do it another way based on spoken language with no strict syntax. It will make logical leaps, it will guess, it will assume etc.
These things are not equivalent at all.
The hallucinations point is a difference and one that we haven't quite learnt to handle yet. Generally, compilers are deterministic (even it it might not feel like it sometimes) and there's a lot of useful properties that come from that.
I have recently put Claude into a CI/CD pipeline and it's made me realise how much I rely on pipelines being deterministic.
Not really. Maybe more so than they used to be thanks to deterministic algorithms becoming faster, but most compilers still aren't deterministic by default. There are still advantages to non-determinism in compilers, like not having to worry about thread execution order. To be fair, most compilers these days allow you to optionally enable determinism. Then again, LLMs also allow you to optionally enable determinism.
really? Please explain