The complexity of non-trivial software goes beyond what a regular person can model in their head.
You can break things up into "modules" of functionality. Mental models are themselves abstractions. But eventually, some part of a large enough system becomes so complex that even the abstractions of those indivisible components become too complex.
This is becoming a greater problem as computers, and networks become more powerful, fast and pervasive. Complexity management is the new game, not efficiency.
I cannot agree more. The thing is: you cannot manage complexity while you're overwhelmed with minute details that currently govern the world of native development.
2 comments
[ 3.4 ms ] story [ 16.0 ms ] threadYou can break things up into "modules" of functionality. Mental models are themselves abstractions. But eventually, some part of a large enough system becomes so complex that even the abstractions of those indivisible components become too complex.
This is becoming a greater problem as computers, and networks become more powerful, fast and pervasive. Complexity management is the new game, not efficiency.