| Fred Brooks wasn't just making an observation. He was making a case that there was no room for such significant jumps in software efficiency because most software development was now focused on essential complexity, not accidental complexity. http://worrydream.com/refs/Brooks-NoSilverBullet.pdf That argument does not hold water to me for two reasons: 1. I think a lot of programming, from glue code to optimization to bug fixing, is still accidental complexity. 2. The level of reuse is still nowhere near reflective of the fact that the majority of code is recoding of already well known algorithms, patterns, and methods with only slightly differences for the current problem context. This happens for business, technical and social reasons. So I see huge potential for progress. Whether that progress will ever involve a 10x improvement due to a single major insight I don't know. But there is room for it to happen. |
Just as an example, a lot of developer time is spent trying to understand some legacy code in order to apply a fix. No single programming technique or tool will make that go away.