Post

My biggest takeaway from “LLMs are useful for some aspects of writing software, and lots of people like it” is still that the existing tools we made for writing software are bad. 🧵👇

The last 20 years were spent on ever more complex layer cakes of frameworks, humongous IDEs and more new and “improved” programming languages that I can count—yet many programmers prefer a chatbot over them.

How did the tools get so bad? It’s a mixture of ego-driven hubris, gate-keeping and tech-wanking. I think both proprietary platforms and open source have been harmful to quality; both contributing to cancerous cruft, overwhelming complexity and toxic environments.

The sheer amount of knowledge a developer has to have to implement even a trivial application today is mind-boggling when compared to to say the 1990s. And most of this knowledge isn’t about deep technical topics or about software design; it’s wrestling with ever-changing deep fried layer cakes.

7 reposts109 likes

It's almost a bad dream that we used to have to manually declare and initialise our dependencies, and then wire them manually together in XML. But we just moved the complexity elsewhere.

Not too relevant in any case. I just found the comment amusing, reminded me of 2012-ish, when node dev complained of a framework explosion and an excess of complexity, when it was orders of magnitude simpler than the usual JEE suspects

1999 would be the 90s right? You’re probably referring to J2EE. By the time it was released Enterprise Java Beans among other RMI-based Java Enterprise solutions were there (and CORBA even earlier)

I feel increasingly like an old crank but I've been saying for decades that if you can't read and write the code in a text editor then it's too complex. I'll admit to a sliver of hyperbole, but I think it stands up practically too when taking into account abstractions that only leak in useful ways.

And there are CRUD frameworks in many major languages but I'm not 100% convinced they're that much easier than using connection strings and SQL. Sure, for user management, no one should build that from scratch, but other things? 🤔