Hacker News new | ask | show | jobs
by mpweiher 3475 days ago
Excellent analysis.

I'd like to add that "growth over time" also solves the "No Silver Bullet"[1] paradox: while Brooks's analysis[2] seems obviously correct, we also obviously have code that seems orders of magnitude larger than it has any business being[3].

As far as I can tell, Brooks doesn't consider cumulative effects of growth over time, but only a single iteration of analysis → development. So a 20% difference in efficiency is just a 20% difference in outcome. However, that same 20% inefficiency per iteration yields a 40x difference in outcome over 20 years. Compound interest.

[1] https://en.wikipedia.org/wiki/No_Silver_Bullet

[2] "there is no single development, in either technology or management technique, which by itself promises even one order of magnitude [tenfold] improvement within a decade in productivity, in reliability, in simplicity.

[3] MS Office is >400MLOC. Xerox PARX had "personal computing" in ~20KLOC. Even assuming MS Office is 100x better at "officing", that leaves 99.5% of the code unaccounted for. Similar analyses can be done for web browser (WWW.app, 5KLOC, Mozilla 15MLOC) and other operating systems etc.

2 comments

Brooks argument if I remember right was about humans software always trying to push the envelope. So it is always going to be hard.

The inflationary phenomena described here is more about incremental decorative and accidental complexity. The root cause is not the human enterprising drive to go boldly where no man gone before.

Looking at the examples of adding headers and command line bells and whistles I wonder what human trait drives this? Those seem (product-)management and architecture/framework type decisions possibly driven by a need to have things uniform and under control.

Moore's law is tiring (it is more obvious on the data center side than in devices yes). Will we become more frugal again?

[2] compilers, debuggers, IDE, unit tests, configuration management, PaaS, IaaS...

We could argue, is it half a fold? is it two folds? depends on the day.