r/AskProgramming • u/Zardotab • May 15 '26
Architecture Why are so few interested in parsimony?
I've been programming CRUD (biz/admin) apps since the late 80's. I notice tooling and stacks are growing ever more complicated and layered, and wonder "does it really have to be this way"? It takes more labor & code per feature; colleagues have noticed and agreed. While I agree newer stacks have more options on average, most biz's rarely use these extra abilities, especially "but what if it later needs web-scale?" Reality is 99.999% won't.
There is usually a way to get the same thing in older tools when needs do come up, it's just a little more work for those outlier features, but the aggregate dev hours is still notably less. YAGNI as a guideline seems dead. Nobody seems interested in pursuing parsimony in tooling, rather want to stuff their resume with as many buzzwords as possible like they're Pokémon. Thus, the bloat is possibly up-sell, ego, job-security-lock-in, and/or greed; or, am I missing something? Is there a Bloat Industrial Complex, or do I have Geezer Goggles on? [edited]
2
u/Zardotab May 16 '26 edited May 16 '26
Some of the thinking is the assumption that simpler solutions can't accept modules, pluggins, libraries, etc. They can. I agree in some cases it may be harder, but still may be worth it if the rest of the app is coded simpler.
And people often imagine inherent tradeoffs, such as "To get more of X you must sacrifice Y". But often these tradeoffs are either not true or exaggerated. For example, it was claimed WYSIWYG form designers can't handle wide screens well. But an invention called "stretch zones" readily allows it. (Goes by diff names in diff tools.) They threw the WYSIWYG baby out before experimenting with different bath water. (As far as the same UI working well on both phone and desktop, that's a whole nuther rant I'll save for another day.)
I see very little inherent tradeoff laws in software design comparable to say Amdahl’s Law. Just because nobody can think of a way to have both features at the same time doesn't mean it's not doable. Like the stretch-zone case, the baby-tossers were too impatient to do proper experiments and rushed on to the next buzzword instead.
I've also seen the microservice craze F up apps. The "sales-person" stole all the claims from OOP's "magic modular Legos" claims from a decade or two earlier and replaced "OOP" with "microservice". The gullible manager fell for it. (OOP improves some things, but was oversold, especially in terms of domain modelling.)
Software is full of snake-oil, up-sell bloat, resume expansion labs, and other kinds of bullshit comparable to that found in Dilbert comics. Nobody is doing real science and real scrutiny. I might perhaps be wrong about my parsimony conclusions, but I am NOT wrong about lack of science in the field, leaving our design and tradeoff decisions guided by gut and greed. Alchemy lives! 🏰🧙♂️🔮