Complexity and Programming
Monday, 9 May 2005
Dan Sugalski on complexity in programming:
Better tools won’t address the flakiness or complexity issues in software because software, generally speaking, is constrained only by complexity and flakiness — they’re to CS what physics is to civil engineering. Adding a facility that removes complexity or flakiness, such as garbage collection, doesn’t make programs less complex or flaky, it just allows you to reallocate that complexity to other things. Programs and systems grow to the point at which their complexity can no longer be expanded.
This doesn’t make the tools bad, though, quite the opposite. The tools, facilities, and techniques provide a kind of local complexity minima for individual problems, which allows the programmer to reallocate attention to other things.
You should follow me on twitter here