The Ultimate Abstraction
For 80 years, we stacked abstractions just to manage the machine. Now, human language is the code. But when we stop auditing the output, the middle layers vanish. The circle finally closes: back to pure binary and raw, unadulterated power.
Computers. At first, they were pure machines, and programming was an act of physical rewiring.
Then came the stored-program revolution. We realized programs could also be data. Binary data!
Then, Assembly language was invented, making machine code slightly more palatable to humans. After that, high-level languages emerged, continually trying to close the gap between how we think and how the machine executes.
Then came programming techniques. Then functional and object-oriented paradigms. Software engineering was born. Then software architecture.
Higher and higher abstractions. Each stacked on top of the other.
Until now.
In the last few years, we have finally seen human language being transformed into working programs. It is still hallucinating, often unsafe, and sometimes incomprehensible. But it is useful. It is still built on the knowledge created over the past 80 years. It is based on high-level languages and software engineering: abstractions that were created specifically for humans.
Of course, we are still trying to understand and maintain the results of our commands, our "prompts."
But ask yourself: how many people today still look at the assembly code produced by a compiler?
Probably as many as those who will bother to look at the code generated by LLMs (or whatever technology follows) a few years from now.
When we reach that point, we will no longer care about software architecture, engineering, programming paradigms, or high-level languages.
At that point, programs will, once again, be pure binary. They will run at top efficiency with no abstractions and no virtualizations.
Just pure, raw power!