24
AI Coding
(geohot.github.io)
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
Follow the wormhole through a path of communities !webdev@programming.dev
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.
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.