Hacker News new | ask | show | jobs
by kazinator 24 days ago
If the software is fast as a byproduct of being simple, that tends to align with correctness.

If it is fast because it is optimized, then that does not align with correctness, because optimizing something that works only adds risk.

3 comments

One could say that (for whatever reasons) many software makers do a poor job of keeping non-essential stuff out of their software. And/or do a poor job of taking the shortest route from user input -> result. Never mind UI design.

Similar thing is happening with web sites. Lately I've done "view page source" on eg. news sites I visit. Common pattern:

100s of KB html, loads & loads of meta tags, then a mountain of CSS junk, embedded scripts etc, and at the very end: maybe 3..5 paragraphs of text (a few dozen words each) with actual content. That's not counting images, video or external scripts, stylesheets, fonts etc. Oh and images not from the actual subject discussed, but 'random' sample illustration from an image library.

Ok sure, you want to add some meta-tags to html documents. You want a page to look good, and run a couple of scripts. But do you need a MB+ of that to provide a few KB of text to your visitors?

NO YOU DON'T. >95% of that is non-essential crap that shouldn't be there in the 1st place.

There's little doubt in my mind that (most) software development works the same way. Bad incentives -> crappy software.

Just because something doesn’t perceive to be lightweight doesn’t mean that it isn’t. Many modern web frameworks are extremely lightweight (ie Svelte), but it’s complicated how they achieve it, and the source code looks like sludge.
Simple software is also easier to optimize. The simpler it is, the less weird corner cases you have to deal with.
In production operations this plays out concretely. The systems that hold up under incident pressure are almost always the simple ones. Clever optimizations are the first things to behave unexpectedly at 2am.