So true.
Since Nov 30, 2022 everything has become… more complex.
So true.
Since Nov 30, 2022 everything has become… more complex.
I think introducing AI to deal with this is overall a mistake though. We're just adding more complexity on top of the existing complexity. At best, it's a massive waste of hardware. At worst, we'll probably have agents introducing as many bugs as they fix as they also drown in complexity, and a lot of stuff built using these techniques are going to be fragile garbage while the overall skillset of humanity diminishes because people aren't learning the skills anymore.
Fundamentally, software does not need to be this complicated and it's a solvable problem, but it does require people that care about craftsmanship.
We should advocate hard but simple instead, but that will take more time to market, which the current trend of hot money driven market would not want, sigh. There are some good article discussing about this: https://tomauger.gitlab.io/posts/2021-06-08-simple-vs-easy/ https://samwho.dev/blog/simple-complex-easy-hard/
Back in the day we just accepted technical constraints that didn’t prevent us from doing anything mission critical. So the UIs weren’t paragons of personal expression, probably there was only one database which didn’t have any scale out features at all, and nothing scrolled infinitely. And I do think that tended to make things easier to fit into your head, because the number of distinct APIs and module interactions you needed to understand was much smaller.
But also none of it was integrated with Alexsirtanapilot, so everyday life was an endless misery.
The problem was a required input control was so heavily styled that it was genuinely difficult to recognize it as interactive. Possibly impossible for my mom, whose eyes aren’t what they used to be.
And, in place of traditional validation design language, they decided to just make the submit button invisible until the input validated.
The worst part is, someone is probably quite proud of the extra day or two they spent making sure that UI was broken.
Drowning in complexity. Paralysis of choice.
I read a comment (joke) that if you want to follow all LLM development you should have to be unemployed.
Catch-22 is it's still important to know the fundamentals so you know what to ask for, but if you don't know the esoterica, the model is eventually going to make an assumption and screw things up. And the models don't have much taste either in prose, or in coding/comment style.
Therefore it is critical that whatever AI produces is understandable to us humans. That is why we must demand that AI tools and agents produce "well designed" well-structured software. That's the bottlenexk to progress I think. Even AI can't deal with exponential complexity explosion.
It's not really news, though. Programming as Theory Building (Peter Naur) was published in the 80s, I think?
Maybe the younger entrants to this field never came across it, but even if you never came across it, it was common knowledge amongst experienced devs that understanding of the system you are about to change is crucial.
Thanks for mentioning Peter Naur’s Programming as Theory Building (1985).
I would add Fred Brooks and his The Mythical Man-Month.
The news is that Agentic Programming has made this always challenging task even more challenging.
It’s global madness fired up by continuous stream of news from LLM providers. It’s like The Verge that is almost about FAANG only, but multiplied as it is “magic” for most people, as vibe coding is “so easy” and dopamine-producing activity that it is similar to runners that don’t want to stop as it stimulates them (and in this case ofc it is healthy :)
HTML and pre-rendering are back in, HTMx, liveview
The degaussing of CSS and the hacks we did, hell i was trying to explain how we debugged web pages in IE6 to a younger staff member today.
Some things are more complex, some things got good enough to make them less complex.
Which ones? PostgreSQL doesn't have HA in core.
FTFY
Increasing complexity is the story of mankind. It's the story of civilization.
Someone from 20,000 BC would wander around the earth trying to find food, trying not to freeze, and trying not to get eaten. Someone from 5,000 BC would be trying to grow food, hoping it rains, and hoping disease didn't wipe out the village. The second one increases the complexity from all the systems required to manage people and keep the land growing. Today the vast majority of people on earth don't grow their own food at all, and instead are busy in some way managing the complexity of a large society.
Someone from 1970-80 would think our software from pre-llm days was vastly more complex. They'd just code directly to the hardware with no abstraction layer. Now almost no one does that. We abstracted the hardware away in most cases. With cryptography libraries for the vast majority of people it's complexity is abstracted away and mostly people are told "don't try to write your own crypto because you will fuck it up".
The question now becomes, how quickly will LLMs be able to coordinate their understanding of the system they are changing?
I think the next time I see "LLMs" and "Understanding" in the same sentence, I am going to lose it....
The hierarchy is certainly higher in agriculture societies it seems, but the complexity is up for some debate