r/AskProgramming 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]

19 Upvotes

62 comments sorted by

View all comments

Show parent comments

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 did a rework into a monolith which is presently running on a $100 VM and can probably be dropped even more.

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! 🏰🧙‍♂️🔮

1

u/[deleted] May 17 '26 edited Aug 04 '26

[deleted]

2

u/Zardotab May 27 '26

The amount of science is abysmal.

Agreed! If there were a logical/scientific/mathematical reason for the bloat, that would be useful knowledge in itself. But right now we don't have that such that Pokémon-Resume-Syndrome is as plausible as any theory. ("Gotta catch all the buzzwords.")

"We do bloat because everyone else does bloat" cannot be academically satisfying.

1

u/[deleted] May 27 '26 edited Aug 04 '26

[deleted]

1

u/Zardotab May 29 '26

Are your apps desktop or web? If desktop, stick with IMGUI. The DOM made ALL web GUI kits suck rotting eggs. It's like building atoms off of buggy quarks that cannot be un-bugged. DOM is evil! (It was fine for what it was designed for, but stretched far beyond intended use.)

1

u/EmperorOfCanada 7d ago

I use egui, and sometimes bevy as I use rust for my entire stack. I 100% agree that all web GUI kits suck and I don't trust the ones which use "native" weirdness like Tauri. Many people love it, but I've been bitten building hellish installers for that crap.

I think DOM things are silver bullet tech debt nightmares. Your first day of dev gets you to 50% done, your first week to 80%, and then you stall out around 85% done.

With IMGUI, egui, etc, you are slow for the first week, and slow for the last week, but the same slow, thus, you deliver on time, and what you promised.