Envisioning information #2
More thoughts from reading Edward R. Tufte’s Envisioning Information, which I finished last night. It wasn’t as inspiring for me as a programmer as I had thought, but it is nevertheless an extraordinary book; passionately written and with stunningly beautiful and fascinating illustrations. The chapters Micro/Macro Readings and Layering and Separation were the ones that most made me associate to programming. As for the latter chapter, I thought about the separation of elements such as clusters of classes, classes, and methods.
Tufte writes, regarding confusion and clutter not being attributes of information, that “the point is to find design strategies that reveal detail and complexity – rather than to fault the data for an excess of complication.” For information design, Tufte continues, layering and separation is one of the “most powerful devices for reducing noise and enriching the content”. This is also true for code, and reading his ideas made me think about how the elements of code (classes, methods, etc) map to ideas and concepts in the head of the programmer.
I thought about what “separates” concepts; what it is that makes you think of them as discrete entities. I thought that it had to do with their essences, or identities, and that each concept is related to some intent of the programmer. Clearly, these concepts must be as distinguishable from each other when reflected in code. This is the low coupling, high cohesion rule, that says that objects should collaborate with as few other objects as possible, as well as form logical wholes; that their set of responsibilities should make sense.
This led me to think about how the “identities of the concepts” must be as strong as possible, as clearly defined as possible. Here I came to think about (I don’t know why) how in Japanese calligraphy and art, it sometimes seen as it is the white that defines the motif, rather than the black ink from the brush; and how (also in Taoism) a bowl is considered to be useful because of the nothingness that makes it a bowl. It was funny to see that Tufte wrote about this further ahead in the book. ––– I’ll have to go now.