4 ms·
Interestingly, my immediate reaction was "well that's backwards" when I read this sentence: "Object-orientation is better for the higher levels of a system, and
by snprbob86 14y ago
Interestingly, my immediate reaction was "well that's backwards" when I read this sentence: "Object-orientation is better for the higher levels of a system, and functional programming is better for the lower levels."
Then I realized that his argument makes lots of sense, so I reframed my thoughts on this.
My recent experience with Clojure has taught me that OO is very well suited for the few low level key abstractions, like Clojure's various reference types. Object orientation is great at maintaining an invariant, which is a key complexity management mechanism for dealing with mutation.
In a distributed system, you can view each node as a low-level mutable component of a bigger system. It's not the top of the entire system, it's the bottom of the communication and coordination system.
- dustingetz 14y ago> Object orientation is great at maintaining an invariant i don't follow, can you say more?
- snprbob86 14y agohttp://en.wikipedia.org/wiki/Class_invariant http://en.wikipedia.org/wiki/Class_invariant