Information Hiding

Notice that in reality I have only the vaguest of ideas what really happens once Chris leaves a message with Fred. I only know that if Chris give her the appropriate message, the desired action, namely, Robin receiving the flowers, will occur.

In computer science we elevate this rather obvious observation by giving it a name, information hiding. The idea of messages naturally suggests information hiding, since the message is simply a request, and does not contain any explicit direction as to how the request is to be honored.

In real life this idea may seem obvious, but it turns out to be a surprizingly important key in controlling the complexity of large software systems. Large systems can be designed as a collection of interacting agents, each providing a service to the others. If the principles of information hiding are observed, then these services can be developed (say, by different members of the programming team) in isolation from each other.

[audio] [real] Text to accompany slide19, in Chapter 1 of An Introduction to Object-Oriented Programming