4 ms·
> There is the appealing idea that AI-assisted programming means better tools which lets us build more ambitious software. That is certainly true at the level o
by sixtyj 3mo ago
> There is the appealing idea that AI-assisted programming means better tools which lets us build more ambitious software. That is certainly true at the level of the individual and without doubt a developer with an agent will be dramatically more capable of changing a codebase. But large software projects have never been limited only by how quickly an individual can produce code. They are limited by how well people can coordinate their understanding of the system they are changing.
So true.
Since Nov 30, 2022 everything has become… more complex.
- calvinmorrison 3mo agoI don't know. some stuff has gotten less. Major databases now ship effective HA tooling, microservices seem on their way out, structured databases seem to be back in instead of NoSQL. 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.
- paulryanrogers 3mo ago> Major databases now ship effective HA tooling Which ones? PostgreSQL doesn't have HA in core.
- calvinmorrison 3mo agoMySQL 8, but upon review that was 2018. 5.7 had some but it's certainly improved overall since then as well
- endorphine 3mo agoA database with built-in HA is a significantly more complex system than one without it.
- hilariously 3mo agoAnd one built without it and not coordinating with it is often much harder to reason about when you bolt it on later.
- pixl97 3mo ago>Since Nov 30, 2022 BC everything has become… more complex. 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?
- ButlerianJihad 3mo ago> IBM has entered the chat https://en.wikipedia.org/wiki/VM_(operating_system) https://en.wikipedia.org/wiki/VM_(operating_system)
- qsera 3mo ago>LLMs be able to coordinate their understanding I think the next time I see "LLMs" and "Understanding" in the same sentence, I am going to lose it....
- pixl97 3mo ago[flagged]
- irishcoffee 3mo agoI'll meet you in the middle: an LLM "understands" words in the same way a toddler understands the phrases they say. "My want cookie!" The toddler has zero comprehension of what any of those words mean, but they know that saying them in that order might result in something desirable. An LLM has zero understanding of "my", "want", or "cookie" because an LLM has no id/ego, has never felt desire, and has never eaten a cookie.
- overgard 3mo agoI feel like with software, things have gotten way too complicated (just layer's upon layers upon layers). But to deal with that complexity, now we're using something that just creates WAY more complexity. I've been coding for a while, and I remember the 90s and early 00s where people could make pretty powerful applications with like visual basic or php with essentially no formal training. Those technologies weren't great, but they were really simple and easy to pick up. In contrast, if you try to pick up web development or desktop app development today, it's absolutely overwhelming. Like, something like React is useful but the amount of things you need to know to use it properly is pretty high. 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.
- SoftTalker 3mo agoAnd what's ironic is that a lot of those layers and complexity were added with the stated goal of making it easier for average developers to build applications.
- sylye 3mo agoYes. The computer software trend now is heading to the trend of 'more and more easy', but it cause it more and more complex. Due to the vast money poring in to the software industry for the past 10 years, bosses want fast to market, so easier to produce software. But in the same time it makes it more complex to debug and understand. 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://tomauger.gitlab.io/posts/2021-06-08-simple-vs-easy/ https://samwho.dev/blog/simple-complex-easy-hard/ https://samwho.dev/blog/simple-complex-easy-hard/
- lelanthran 3mo ago> They are limited by how well people can coordinate their understanding of the system they are changing. 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.
- sixtyj 3mo agoThe complexity of coordinating a project involving more than one entity is, of course, an issue across all industrial sectors—just look at the construction industry. Thanks for mentioning Peter Naur’s Programming as Theory Building (1985). I would add Fred Brooks and his The Mythical Man-Month.
- jgalt212 3mo ago> It's not really news, though. Programming as Theory Building (Peter Naur) was published in the 80s, I think? The news is that Agentic Programming has made this always challenging task even more challenging.
- sixtyj 3mo agoChallenging. Adventurous. And tiring. 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 :)
- bjelkeman-again 3mo agoI knew a runner that was wearing his body down. His joints where giving up. I predicted he would become a cripple. He wouldn’t stop running despite knowing. He was addicted. Some stories about prompting agents feel like that to me.
- 3mo ago