Scope obviously has another utility: implementation hiding. I wonder if organising dependencies is just a side-effect of that use-case?
i
ibdknox
01/24/2020, 10:13 PM
If you haven't yet, I really highly recommend reading Herbert Simon's "The Architecture of Complexity". It makes a strong argument for why hierarchy is necessary and the notion of "near decomposability" is a nice way to understand a lot of the cult ideology in programming (despite being written in the 60's and for a different field!).
I've read the first couple of pages and the first thing I'm noticing is that the author is taking categorisations and boundaries that humans have defined (e.g. "families" and "solar systems") as evidence that hierarchy exists in nature. I find this to be really unconvincing. All it shows is that we're evolutionarily designed to cluster "similar" (spatio-temporally co-located or semantically similar) entities and give them names. That much I agree with. But that's not an argument for organising systems into strict hierarchies! It suggests we should group entities together (conceptualise them) whenever there are intuitive ways to do so.
👍 1
Nick Smith
01/25/2020, 3:27 AM
I'd say the only true thing about natural organisation is that it operates by proximity, and we humans take that proximity and stratify it.
w
wtaysom
01/26/2020, 2:15 AM
Most important in living software is the constant realization that you have factored your data the wrong way for new tasks.