React, Electron, and LLMs have a common purpose: the labour arbitrage theory of dev tool popularity
React, Electron, and LLMs have a common purpose: the labour arbitrage theory of dev tool popularity
Skip to main content
React, Electron, and LLMs have a common purpose: the labour arbitrage theory of dev tool popularity
2 May 2024 – Baldur<br>Bjarnason
AI
The evolution of software development over the past decade has been very frustrating. Little of it seems to makes sense, even to those of us who are right in the middle of it.
We usually only notice trends and popular frameworks and libraries after they’ve exploded in popularity. By that time they’re often so far removed from their original context that their initial technical merit is a hard-to-distinguish quiet signal in the overwhelming noise of hype, grift, and false promises.
If you do take the time to trace these trends back to their early beginnings, you often discover that, no, it wasn’t just somebody’s con or VC startup pitch that happened to get traction. Usually there was something there at the beginning, however slight that “something” might have been.
MongoDB has its uses. It’s a specialised tool that works remarkably well in certain contexts (and remarkably badly in others) and many of its very earliest adopters adopted it for solid reasons.
React was, at the time, a very clever and ergonomic solution to building a “view” layer for the web. It’s well past its sell-by date but it was a remarkable innovation when it was first released over a decade ago.
Large Language Models are a remarkable discovery that should, in the long term, tell us something interesting about the nature of text. They have some potentially productive uses. Its destructive uses and the harm it represents, however, outweigh that usefulness by such a margin that, yes, I absolutely do think less of you for using them. (You can argue about productivity and “progress” all you like, but none of that will raise you back into my good opinion.)
Rails and Django made an entire class of software – medium-sized web services – more straightforward to create, develop, and maintain. They were a genuine paradigm shift in web development that probably ended up being a bit overused and extended into types of software they weren’t suited for.
There is generally something “there” in the various technologies that become developer darlings but that merit often gets lost in translation as the hype surrounding them spreads.
That isn’t what’s perplexing. What’s harder to understand is the reason why these technologies take off when others don’t. That’s despite having equal merit and being equally loved by the devs that use them.
Some of it’s down to resources. MongoDB had VC-funding. Facebook was, even a decade ago, one of the largest companies on the planet.
But that doesn’t entirely explain it away. Plenty of VC-backed plays falter and pretty much every major tech company has implemented and promoted their own frontend view library at one point or another. Ebay’s Marko, for example, is at least as old as React.
Some of it is simply down to time. You’d expect Electron to be more popular than Tauri because Electron pioneered the category of “use web tech to make mediocre desktop software” and Tauri is a johnny-come-lately that commits the cardinal sin of requiring that you care about the security of your app. But, again, that doesn’t explain all of it. The Cordova/PhoneGap family of mobile app frameworks have very steadily lost mindshare to React Native despite predating it by six years. CoffeeScript disappeared seemingly overnight while TypeScript is a juggernaut that has pushed pretty much every other “compile to JavaScript” language out of the market.
This means time, or order of release, doesn’t explain it either.
Complex systems are inherently unpredictable. We’ll never have a complete answer to why something takes off in popularity in the software developer ecosystem any more than we’ll ever figure out exactly why some books become international blockbusters and others don’t.
But we can form theories about what sustains popularity – why do some frameworks and libraries go from strength to strength and while others plateau or even peter out.
My theory is fairly straightforward:
The long-term popularity of any given tool for software development is proportional to how much labour arbitrage it enables.
The more effective it is at enabling labour arbitrage, the more funding and adoption it gets from management.
What do I mean with labour arbitrage? #
Labour arbitrage is, effectively, when employers play employees in different regions and fields against each other:
The primary purpose of using labour arbitrage is to enhance operational efficiency by reducing labour expenses without compromising the quality of goods and services. Firms can leverage differences in labour costs, skills, and labour availability between geographical regions or different labour markets to...