Software languages in 10 years ? - part 1
The Future Bottleneck Is Not Code Generation
Software used to have weight. You could "drop software code on the floor", and could feel the constraints physically, trace everything with your fingers. I'm talking about punch cards, the ones that were stacked in boxes. Magnetic tape reels spinning like industrial machinery. A misplaced hole in a card was not an inconvenience, it was topology corruption. Back then, bugs were actual bugs that corrupted the file system. Early computing did not allow abstraction to drift too far from the machine because the machine itself refused to disappear.


There is something modern developers fail to understand about those eras. People nowadays often look at old systems and see primitiveness, while they assume what's here is meant to stay forever. I look at previous eras and see continuity locality, sort of like sedimented ages in computing. But what I am most keen on is seeing that the terrain remained metabolizable back then. The machine could still fit inside a human nervous system. A line number in a codebase was a hard reference coordinate - books and papers used to be able to refer to functions in codebases by their line number. You know, the slowest means of press publishing could actually refer to known implementation that would never change its location. Code editors had Jump to line precisely for THIS REASON.

When I was about 6 yo, my father bought an old used up Atari where he and his best friend built a maze game called Tom and Jerry. Around ten thousand lines. A “+” chased an “o” through labyrinths made out of ASCII geometry. No frameworks. No transpilers. No hydration boundaries. No distributed orchestration layers pretending to be invisible while mutating under your feet every two weeks. Just direct traversal through topology.
And yes, it looked insane.
10 PRINT "TOM"
20 IF X=Y THEN GOTO 100
30 X=X+1
40 GOTO 20
100 PRINT "CAUGHT YOU LITTLE MOUSEY!"
People laugh at GOTO now because structured programming won the historical narrative. But something got lost in that transition. Earlier systems preserved positional continuity. Logic physically lived somewhere stable enough for humans to remember it. You did not “search the codebase semantically.” You traversed terrain. None of this rg -n "function .*Dominant|dominantClientId|Customer ItemNumber" src/components bs you see the agent perform over and over at your behest of adding functionality or fixing bugs.
Modern software detached continuity from position completely.
That trade initially made perfect sense. Abstractions liberated us from the machine. High-level languages, frameworks, containers, cloud runtimes, reactive frontends, distributed systems, CI/CD pipelines, transpilers, package managers, infrastructure-as-code. Every generation externalized a previous cognitive burden while internalizing a new symbolic layer. Software became vastly more expressive because humans no longer needed to remain close to the raw topology.

But there was a hidden assumption underneath all of it: humans were still the primary mutation engine. That assumption is now collapsing.
From MVP to Production in a single session.
To rig your code in a couple of hours or less, and run it on dedicated infra with external services processing payments for you, from "having a vague idea of what you want" to another human landing on your page and converting - in a mind blowing couple of hours was something inconceivable (and it still is to those of us who treasure reliability and stability).
The industry still talks about AI-assisted development like this is fundamentally a productivity story. Faster coding. Faster iteration. More generated surfaces. More orchestration. More copilots. This completely misses the actual fracture line. The important thing is not that machines can generate code. Machines have generated code for decades. The important thing is that mutation throughput is beginning to exceed human metabolization capacity.


Modern software ecosystems were already unstable before AI arrived. Most organizations do not actually understand the continuity structures they operate anymore. And even if they do, they silently import ones that don't. Everybody survives through ritualized governance theater.
Senior engineers become living patch layers between unresolved abstraction surfaces. CI pipelines mutate into semantic religions. Entire frontend ecosystems reconfigure themselves faster than institutions metabolize the previous generation. All the while modern day AI-assisted hackers inject vulnerabilities in npm stacks that casually get imported in a vibe session on a day of the week that ends with "-day".
When AI arrived, the collective response became: generate even more please. Be careful what we accelerate dear colleagues and AI assistants, because it seems to me we accelerate continuity overload disguised as productivity.
There's this tweet surfacing every 2 or 3 days on my timeline how IBM's manual says you can't hold a machine accountable.

I look at those punch holes on the printed IBM manual's page, and a smirk lands on my face connecting them to punch cards in the era this page was presumably printed. "Reality, it seems, is not without a sense of irony" in Morpheus's own words.