Motherhood and apple pie

Steven P. Reiss · 2013

Modularity has been around for a long time. Good designers attempt to make use of it as much as possible. Languages have been developed to support it. Language extensions have attempted to deal with the situations where languages themselves fail. Tools have been designed to accommodate and encourage it. Most of these efforts, however, are geared toward "simple" homogeneous applications. Unfortunately, modern applications can be a lot more complex and bring up new and exciting challenges in terms of modularity. Today's applications, even relatively simple ones, involve multiple processes running on multiple machines, processes that are often external to the application itself and out of the control of the developers. The individual processes involve multiple threads, complex thread interactions, and opaque libraries. All these affect the way we look at systems and how we approach modularity.

Read the paper · More papers on PaperTik