The World Needs more Useful Software, Not More Lines of Code
I saw a headline recently, “Cursor generating 1b lines of code a day!“
Wow, it must be so valuable I thought to myself, coders are out of a job!
(just kidding)
The thing that people miss in computer history is that this happens a lot. Some new technology comes out that makes computer programmers 10-20x more efficient at their jobs. Historically it’s been in the categories of compilers, interpreters, operating systems and frameworks - systems that make it much easier for computer programmers to make useful programs.
Most of this work started in the 70s at Bell Labs where C was invented. In the 80s and 90s it was compilers. We moved from assembly to C to languages like C++ and by the new millennia we had a ton of languages from low level systems to high level scripting and web languages (PHP and eventually languages like Ruby, Javascript and Python). In the mid 2000s we got frameworks like Rails, Django, and express (more recently nextjs) that have made programmers EVEN more efficient. Since the year 1990, the efficiency of the average programmer has likely increased 100-200x. This is compounded on the gains also roughly increasing the number of programmers 50-100x in that time period too.
The above illustrates one important thing - just because we’re writing more machine instructions doesn’t mean we’re producing more value for the world. The infinite monkey theorem states that a monkey hitting keys independently and at random on a typewriter keyboard for an infinite amount of time will almost surely type any given text, including the complete works of William Shakespeare.
We just invented the monkey, but if if no one is reading, who knows if what they wrote is valuable. The value comes when you share what you created and it becomes a useful abstraction for other people to build on. This is all that software is - abstractions nested in abstractions all the way down. Just because you write more code doesn’t mean it will be useful. Building useful software deals with humans mostly, figuring out what they want and delivering that. No doubt we’ll get better and faster at the building and delivering part (as we always have), but it’s the figuring out what they want that’s much more valuable.