The C4 Model is a paradigm for more effectively diagramming software architecture. The four Cs are context, containers, components and code. This video is a great introduction for the interested. It also provoked a question.
During the presentation, Simon Brown–C4 Model creator–used an analogy. He said that when it comes to understanding software architecture the problem is often notation, not abstraction. He cites two different maps of the same place–they will describe the same things, fundamentally, but do it in a different way. They will disagree.
Consider the abstractions-versus-notation issue in another context. We all agree that inequality is a thing–it’s like the thousand-year-old church on the map of contemporary civilisation. It’s most definitely there. But we all disagree about how to analyse it, where its boundaries end and where they begin, whether to classify it as benign or inevitable or malevolent, and so on. Notation, not abstraction, is the problem.
Now, visualise disagreement as a tree. The trunk diverges into branches and twigs and leaves, all unique but all still birthed by the same arbor. The question is, What is the root of disagreement?
An obvious answer would be “difference.” You and I, we have had different experiences. I grew up in a different place, at a different time, around different people, focused on some things and fearing others. By nature and by nurture, we are not the same. It’s logical for these many differences to eventually manifest as disagreement. Another answer could be “language.” The inadequacy of language is a well-documented phenomenon, after all. If I cannot explain my thoughts–my differences–with sufficient clarity then disagreement is sure to reign. The best answer, in my opinion, encapsulates both the above. I think the root of disagreement is “communication.”
Using language to convey difference is a case of speaking, remember; it makes no mention of listening. An example: imagine two diametrically opposed people are locked in a room. They are compelled by some supernatural entity to listen (and speak only in order to more accurately hear) until they comprehend one another. At the end of the exercise, would they disagree more or less than when they had entered the room? I think “less.”
Unfortunately, even when our notation of reality aligns, even when our abstractions are shared, we have neither the means nor the motive to comprehensively communicate. Good faith and empathy can take us far indeed but never beyond the long reach of disagreement.