Hacker News new | ask | show | jobs
by earljwagner 3412 days ago
We see similar phenomena in software: "software bloat", "feature creep", the "second system effect" (see Wikipedia for details). Linux provides the same basic functionality as Unix in 1980 but has orders of magnitude more lines of code. Why? It's more complicated because the world is more complicated, and we have higher (and more detailed) expectations for that functionality.

Basically, once you have a lean MVP that works, all social and economic pressures are to add new features with decreasing marginal gains, support standards of interest to fewer and fewer users, handle increasingly obscure edge cases, etc.

1 comments

Yeah, I think this provides a useful analogy at the very least. The cost of new features increases over time (it is much easier to add/change/swap out features at an earlier point). Razing something to the ground and starting again can often produce better systems, but at that point the external world depends upong the systems already in place, so any efficiency you gain by reconstructing is bled away almost immediately. Coupled to that is this idea that automation always simplifies, make things more efficient. Whereas in practise it often does the opposite: it works well _if_ you can control the environment, simplify the interface to the external world. But reality isn't that clean; in education, health, infrastructure etc the external world becomes so complex that only aspects of it can be controlled, thus you only get very partial, focussed solutions that are sold as complete solutions (and fail). Maybe..