The Great Software Stagnation

https://alarmingdevelopment.org/?p=1475

Software is eating the world. But progress in software technology itself 
largely stalled around 1996. Here’s what we had then, in chronological order:

LISP, Algol, Basic, APL, Unix, C, SQL, Oracle, Smalltalk, Windows, C++, 
LabView, HyperCard, Mathematica, Haskell, WWW, Python, Mosaic, Java, 
JavaScript, Ruby, Flash, Postgress.

Since 1996 we’ve gotten:

IntelliJ, Eclipse, ASP, Spring, Rails, Scala, AWS, Clojure, Heroku, V8, Go, 
Rust, React, Docker, Kubernetes, Wasm.

All of these latter technologies are useful incremental improvements on top of 
the foundational technologies that came before. For example Rails was a great 
improvement in web application productivity, achieved by gluing together a 
bunch of existing technologies in a nicely structured way. But it didn’t invent 
anything fundamentally new. Likewise V8 made new applications possible by 
speeding up JavaScript, extending techniques invented in Smalltalk and Java. 
Yes, there is localized progress – for example ownership types were invented in 
98 and popularized in Rust. But Since 1996 almost everything has been cleverly 
repackaging and re-engineering prior inventions. Or adding leaky layers to 
partially paper over problems below. Nothing is obsoleted, and the teetering 
stack grows ever higher. (Except Machine Learning, which has made real 
progress, but is also arguably an entirely different kind of software. I am 
talking here about human programming. )

It’s as if we we hit a wall: progress abruptly stopped in 1996. What the hell 
happened in 1996? I think what happened was the internet boom. Suddenly, for 
the first time ever, programmers could get rich quick. The smart ambitious 
people flooded into Silicon Valley. But you can’t do research at a startup (I 
have the scars from trying). New technology takes a long time and is very 
risky. The sound business plan is to lever up with VC money, throw it at elite 
programmers who can wrangle the crappy current tech, then cash out. There is no 
room for technology invention in startups.

Today only megacorps like Google/Facebook/Amazon/Microsoft have the money and 
time horizons to create new technology. But they only seem to be interested in 
solving their own problems in the least disruptive way possible.

Don’t look to Computer Science for help. First of all, most of our software 
technology was built in companies (or corporate labs) outside of academic 
Computer Science. Secondly, Computer Science strongly disincentivizes risky 
long-range research. That’s not how you get tenure.

The risk-aversion and hyper-professionalization of Computer Science is part of 
a larger worrisome trend throughout Science and indeed all of Western 
Civilization that is the subject of much recent discussion (see The Great 
Stagnation, Progress Studies, It’s Time to Build). Ironically, a number of 
highly successful software entrepreneurs are involved in this movement, and are 
quite proud of the progress wrought from commercialization of the internet, yet 
seem oblivious to the stagnation and rot within software itself.

But maybe I’m imaging things. Maybe the reason progress stopped in 1996 is that 
we invented everything. Maybe there are no more radical breakthroughs possible, 
and all that’s left is to tinker around the edges. This is as good as it gets: 
a 50 year old OS, 30 year old text editors, and 25 year old languages. 
Bullshit. No technology has ever been permanent. We’ve just lost the will to 
improve.

[Edits: added Rust]
_______________________________________________
Infowarrior mailing list
Infowarrior@attrition.org
https://attrition.org/mailman/listinfo/infowarrior

Reply via email to