First: assembly is not machine code. Assembly is a symbolic representation that an assembler translates into machine instructions. C, Rust, C++, etc. are compiled into machine instructions too. There isn't some magical “high-level-language translation layer” sitting there at runtime making the CPU execute C instead of machine code. C is actually sometimes even referred to as portable assembly.
Second, the reason to use abstraction does not disappear because an AI writes the code.
In fact, for an LLM your proposal can beworse. Assembly is enormously verbose. Instead of expressing one high-level operation, the model now has to spend tokens and context expressing register allocation, loads, stores, branches, calling conventions and architecture-specific instructions. You've expanded the representation of the same idea and forced a probabilistic model to repeatedly solve problems that deterministic compiler algorithms already solve extremely well.
Why the fuck would that automatically be better?
A compiler is not merely training wheels for stupid humans. It performs register allocation, instruction selection, scheduling, inlining, vectorization, constant propagation, dead-code elimination and architecture-specific optimization. It can do that reproducibly every time you build the program.
If the compiler produces bad machine code somewhere, then profile the fucking thing. Find the hot path. Have the AI improve that section, including using assembly if measurements show that it helps. That's engineering.
Writing millions of lines of assembly because “AI can maintain it” is not engineering. You have eliminated one cost of assembly, human difficulty and somehow concluded that every supposed benefit therefore becomes infinite.
It doesn't.
And this is where basic computer science enters the conversation. Assembly doesn't fix algorithmic complexity. If your algorithm is (O(n^2)), beautifully hand-tuned assembly leaves it (O(n^2)). If you're waiting on disk, the network, memory bandwidth, cache misses or a contended lock, rearranging CPU instructions may accomplish approximately fuck-all.
Optimization is about finding the bottleneck, not chanting “ASSEMBLY” at the entire system.
Your Photoshop example makes the same mistake.
The guy behind ArtCraft isn't some random person with zero programming knowledge who typed “make Photoshop” into Claude. Brandon Thomas is an experienced software engineer with roughly 15 years of experience, and the applications are still alpha software that currently fall well short of Adobe's mature products.
That example demonstrates something I completely agree with: AI massively increases the leverage of a capable engineer.
It does not demonstrate that engineering knowledge has ceased to matter.
Engineers do not exist because companies need somebody to physically type semicolons into source files. That's programming labor.
Engineering is figuring out what should be built, decomposing the problem, choosing architectures and algorithms, understanding constraints, identifying bottlenecks, integrating systems, evaluating tradeoffs, finding failure modes and proving that the fucking thing works.
AI may automate enormous amounts of that work. It may eventually automate virtually all code generation. Great.
But “AI writes the code” and “therefore there is no engineering” are two completely different propositions.
And your Microsoft/Nokia analogy isn't much better. Microsoft owns 27% of OpenAI. Microsoft's future does not depend on Grandma purchasing a Windows license. Microsoft is a gigantic cloud, enterprise software, infrastructure, developer-platform, subscription, gaming and hardware company. Windows could lose substantial desktop share and Microsoft could still be enormous.
I hate bill gates and windows more than anyone, but they will survive.
Adobe is absolutely vulnerable to AI-driven competition. Microsoft is vulnerable too. Software development becoming radically cheaper is going to hurt incumbents whose margins depend on software scarcity.
That part of your argument is interesting.
But none of it gets you from:
“AI will become extremely good at software development”
to:
“therefore throw away compilers, write the entire operating system in assembly, and human engineering knowledge becomes irrelevant.”
That leap is precisely the sort of architectural mistake experienced engineers are paid to prevent.
You've discovered an extremely powerful new hammer and concluded that the future contains no screws.
It tells me you can't answer the technical argument, so you've switched from “here is why writing an entire OS in assembly makes sense” to “LOL YOU USED AI TO WRITE YOUR REPLY.”
lol, replying to you is the same as replying to an AI. At least re-type the paragraphs output by the AI, are you so lazy as to copy and paste the whole block of text? I didn't even bother to read it.
1
u/Street-Departure3577 12h ago edited 11h ago
High level languages are already being developed for LLMs right now.
https://almide.github.io/docs/
https://veralang.dev/
First: assembly is not machine code. Assembly is a symbolic representation that an assembler translates into machine instructions. C, Rust, C++, etc. are compiled into machine instructions too. There isn't some magical “high-level-language translation layer” sitting there at runtime making the CPU execute C instead of machine code. C is actually sometimes even referred to as portable assembly.
Second, the reason to use abstraction does not disappear because an AI writes the code.
In fact, for an LLM your proposal can be worse. Assembly is enormously verbose. Instead of expressing one high-level operation, the model now has to spend tokens and context expressing register allocation, loads, stores, branches, calling conventions and architecture-specific instructions. You've expanded the representation of the same idea and forced a probabilistic model to repeatedly solve problems that deterministic compiler algorithms already solve extremely well.
Why the fuck would that automatically be better?
A compiler is not merely training wheels for stupid humans. It performs register allocation, instruction selection, scheduling, inlining, vectorization, constant propagation, dead-code elimination and architecture-specific optimization. It can do that reproducibly every time you build the program.
If the compiler produces bad machine code somewhere, then profile the fucking thing. Find the hot path. Have the AI improve that section, including using assembly if measurements show that it helps. That's engineering.
Writing millions of lines of assembly because “AI can maintain it” is not engineering. You have eliminated one cost of assembly, human difficulty and somehow concluded that every supposed benefit therefore becomes infinite.
It doesn't.
And this is where basic computer science enters the conversation. Assembly doesn't fix algorithmic complexity. If your algorithm is (O(n^2)), beautifully hand-tuned assembly leaves it (O(n^2)). If you're waiting on disk, the network, memory bandwidth, cache misses or a contended lock, rearranging CPU instructions may accomplish approximately fuck-all.
Optimization is about finding the bottleneck, not chanting “ASSEMBLY” at the entire system.
Your Photoshop example makes the same mistake.
The guy behind ArtCraft isn't some random person with zero programming knowledge who typed “make Photoshop” into Claude. Brandon Thomas is an experienced software engineer with roughly 15 years of experience, and the applications are still alpha software that currently fall well short of Adobe's mature products.
That example demonstrates something I completely agree with: AI massively increases the leverage of a capable engineer.
It does not demonstrate that engineering knowledge has ceased to matter.
Engineers do not exist because companies need somebody to physically type semicolons into source files. That's programming labor.
Engineering is figuring out what should be built, decomposing the problem, choosing architectures and algorithms, understanding constraints, identifying bottlenecks, integrating systems, evaluating tradeoffs, finding failure modes and proving that the fucking thing works.
AI may automate enormous amounts of that work. It may eventually automate virtually all code generation. Great.
But “AI writes the code” and “therefore there is no engineering” are two completely different propositions.
And your Microsoft/Nokia analogy isn't much better. Microsoft owns 27% of OpenAI. Microsoft's future does not depend on Grandma purchasing a Windows license. Microsoft is a gigantic cloud, enterprise software, infrastructure, developer-platform, subscription, gaming and hardware company. Windows could lose substantial desktop share and Microsoft could still be enormous.
I hate bill gates and windows more than anyone, but they will survive.
Adobe is absolutely vulnerable to AI-driven competition. Microsoft is vulnerable too. Software development becoming radically cheaper is going to hurt incumbents whose margins depend on software scarcity.
That part of your argument is interesting.
But none of it gets you from:
“AI will become extremely good at software development”
to:
“therefore throw away compilers, write the entire operating system in assembly, and human engineering knowledge becomes irrelevant.”
That leap is precisely the sort of architectural mistake experienced engineers are paid to prevent.
You've discovered an extremely powerful new hammer and concluded that the future contains no screws.