Code as an Artifact: LLMs change what code means, but specs remain

Agentic LLMs have shifted software engineering's end product from code to spec, as LLMs can regenerate code on demand. Elon Musk muses that source code is becoming like assembly, with AI generating binaries directly. Yet programming languages persist to reduce ambiguity in natural language, making them unlikely to disappear unless spec interpretation over time becomes acceptable.
Source code is on the verge of becoming like assembly.
- paretolaw
My 2 cents
Dont listen salesman talking about engineering. Unless he has credibility proven by things he had done recently. Person might be zillionare but he cant buy credibility.
- cadamsdotcom
The boundary isn't code vs specs.
The boundary is wherever you let go of determinism.
If you can deterministically turn specs into the same code every time, congratulations! But all you've done is made a higher level language.
LLMs are useful to bring more vagaries of the real world into the realm of determinism, and the tool we use to do that is code.
Specs fail to codify all kinds of externalities that become risks over time: how UIs look is subject to fashion trends, for example - and your users may be quite happy with the UI in the old version, but you regenerated it from specs and whoops! Now it's not accessible anymore! Also the OK button is now hooked up to a string that maps to an event handler that doesn't exist because it wasn't locked down in a spec. Whoops!
Hopefully you can see how it's not about code - what it's actually about is the way in which code codifies a desired result in a deterministic way, and does as efficiently as anything else we've invented so far.
- TZubiri
Yes, in agentic coding, "code" is an artifact, in the sense of "release artifacts" the word used by VCS systems like GitHub. And the agentic step is not (or less) deterministic, so the burden on VCS is augmented by the need to track target code instead of being able to generate target code on demand through idempotency. Which explains why we are seeing the main VCS under infrastructural trouble.
Some recommendations to strengthen your theoretical framework and language.
Code is a quite ambiguous word, try using source code and target code. You can check out different definitions of source code, but a standard definition of these terms to me is Stallman's GPL, which is not just an academic textbook, it's actual binding contractual text for a huge body of software.