Hiding Complexity

I just started reading the second edition of The Ruby Way by Hal Fulton and came across this gem:

We can’t avoid complexity, but we can push it around. We can bury it out of sight. This is the old “black box” principle at work; a black box performs a complex task, but it possesses simplicity on the outside.

This idea of managing complexity is one of the classic commandments of programming, of course, and a core theme of Structure and Interpretation of Computer Programs, but this was a nice restatement.

It looks like this edition (in all it’s 800+ page glory) will be quite a treat.

Comments are closed.