| ▲ | api 2 days ago | |||||||
There have been serious efforts at software engineering, like the OOP movement in the 1980s and 90s to construct software very methodically. Programmers hate it and rejected it. To be fair, it does tend to create its own pathology. Instead of a layer cake made of congealed spaghetti, you tend to get over-engineering. https://github.com/Hello-World-EE/Java-Hello-World-Enterpris... Software engineering leads to software over-engineering because unlike in physical material engineering there is no capital or material cost to push back against complexity. You can just add things, and add things, and add things, forever, and it costs very little (a bit of RAM and CPU but that's cheap). I have this weird hypothesis that part of why methodical "correct" software engineering fails is that it succeeds. It is able to manage complexity, which allows complexity to grow without bound. A mountain of ugly shit will start crashing in mysterious ways if it gets too complex, which has the virtue of limiting complexity. A root problem is that programmers tend to add complexity, not remove it, and the incentive structure of the software business tends to encourage this. Each new bit of complexity or layer is something you could build a business around, or a feature you could sell. Nobody pays for simplicity. It has value, often massive value, but it's not intuitive. In what other domain would you pay more for the absence of something? This would make sense in software since simplicity is harder than complexity, but it feels weird and wrong. | ||||||||
| ▲ | porridgeraisin 2 days ago | parent | next [-] | |||||||
> I have this weird hypothesis that part of why methodical "correct" software engineering fails is that it succeeds. It is able to manage complexity, which allows complexity to grow without bound. Interesting thought that. Makes a lot of sense. Will remember it the next time I randomly have a train of thought about software complexity on the bus... Am I normal? does everyone here do that? Of course outside hackernews this is a hopeless question. | ||||||||
| ▲ | mwcampbell 2 days ago | parent | prev | next [-] | |||||||
> there is no capital or material cost to push back against complexity On a thread about software bloat and inefficiency, @josephg once speculated about an alternate universe where Moore's Law stopped decades ago. I've kept thinking about that. Unfortunately, I kept coming up with counterfactuals where important things like accessibility weren't as advanced or (relatively) widespread as they are in this world. | ||||||||
| ▲ | spookie 2 days ago | parent | prev [-] | |||||||
Look at ECS and game dev. Some may say games are just products, yet some real engineering is done in some places. | ||||||||
| ||||||||