log in

Onion of Complexity

Luke Breuer
2008-03-04 20:13 UTC

Computers used to be very simple. They would take a few "characters" of input and provide a few "characters" of output. As time has gone by, layers upon layers of complexity have been added. Input and output is often vastly more complicated underneath the surface. Computers now talk to multiple systems, some on the other side of the planet, all within seconds. This process of growth has been organic, which leaves the builders with a fairly good understanding of things and outsiders with a high wall to overcome.

Sometimes a very complex system simply cannot be understood without knowledge of a prior, simpler one. This is why science is taught first with approximations that work well for the topic at hand. Even though Newtonian Mechanics is wrong, it is Good Enough for many purposes. When its limits are reached, General Relativity is there to fill in the gap.

Unfortunately, there are so many layers and so much complexity in computer systems today that breaking it all down can be prohibitive to the extreme. Understanding how to approach this complexity and how to learn exactly what needs to be learned is not a well-understood topic.