3 ms·
I 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 some
by overgard 3mo ago
I 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/
- bunderbunder 3mo agoThat is the nominal motive, but I think that the real motive is that it makes it easier for average developers to pile on more complexity. 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.
- overgard 3mo agoYeah, I think a lot of what web tech makes possible/standard in a UI is actually frequently things that add a lot of complexity with little actual value. Animations, a widget that looks different from the thousands of other widgets you use daily that do the same thing, non-standard behavior, etc. Computers are ironically much harder to use now than they were in like 2000, and it's not that they're doing things that are fundamentally way more complicated, it's just a lot of bullshit that isn't entirely neccessary
- bunderbunder 3mo agoYes. Just this evening I had to help my mom. She was convinced a web form she needed to fill out was broken. 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.
- sixtyj 3mo agoAmen. 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.
- throwaway219450 3mo agoI had a discussion with folks at work about what information is worth retaining in the face of AI doing everything for us. A lot of what we have in our heads to qualify as "domain experts" is pretty esoteric. How to invoke command line tools, gotchas because library A uses one convention over library B, AWS vs GCP; so much is specific to a tool rather than a method. There are also a lot of entrenched tools that are effectively unfixable due to the risk of breaking changes, so you have to shrug and accept + learn that's how it works. 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.
- galaxyLogic 3mo agoYes I think the problem is not that AI "has all the answers". It is that we don't have "all the questions". If we don't understand the whole of what AI produces for us, we can't ask it to make parts of it different. We are not in control any more of what exactly is produced, and we don't want to give AI all the control, because then it would not be doing what we want it to do. 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.