this post was submitted on 12 Sep 2025
34 points (94.7% liked)
Programming
23669 readers
519 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
AI is just an even higher level of abstraction. Just like we've replaced assembly with C (so we won't need to know how processors work internally), and then C with some higher-level languages (so we could stop care about allocating memory that much), now we are replacing those higher-level languages with natural language (to stop wasting time on learning syntax of frameworks).
Does it mean programming jobs are obsolete? Of course not. Because programming was never about writing code. It has always been about translating requirements into actual software solutions.
It's not though. Programming languages, like assembly before them, are deterministic. If you run the same C code again the same environment, it will do the same thing, and altering the code will alter the behaviour correspondingly. It's possible to reason about it. The same does not apply to LLMs. You can't reason about their behavior, when means you can't build anything non-trivial with them. All that is mentioned in the article.
Software you create with LLMs is deterministic, because it is the same code as you produce manually. The process of creating it is maybe not, but it is a task of a programmer to review it before publishing it.
By contrast however, the programmer does not generally need to review the machine code produced by their compiler when coding in C.
LLMs do not create the same code that I would, nor do they produce code at the same level that I would. Additionally, LLMs are not deterministic (normally - there are ways to manually seed some but it's rare). Determinism has a very specific meaning. Compilers supporting reproducible builds are deterministic. LLMs producing a different output each time are not.
Tell that to my coworkers. It's honestly insulting the code I have to review and contribute to. Having used these tools myself, I'm better off writing the code myself.
You have no idea what an abstraction is. You're describing the technological sophistication that comes with maturing science and completely missing out on the details. C was a hack because UNIX's authors couldn't fit a Fortran compiler onto their target machine. Automatic memory management predates C. Natural-language processing has been tried every AI summer; it was big in the 60s and big in the 80s (and big in the 90s in Japan) and will continue to be big until AI winter starts again.
Natural-language utterances do not have an intended or canonical semantics, and pretending otherwise is merely delaying the painful lesson. If one wants to program a computer — a machine which deals only in details — then one must be prepared to specify those details. There is no alternative to specification and English is a shitty medium for it.