2 comments

[ 3.4 ms ] story [ 16.0 ms ] thread
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.