3 ms·
Boy, another blog echos the empty chant on functional being superior than OO without substantiating the claim. "OO design patterns such as MVC are going nowher
by ww520 13y ago
Boy, another blog echos the empty chant on functional being superior than OO without substantiating the claim.
"OO design patterns such as MVC are going nowhere." Really? MVC is going nowhere? And how is functional organizing UI and model data better?
You can promote a technology without trashing another one. People know what functional is and it has its niche as with any other things.
- willismichael 13y agoI think he meant OO and MVC aren't going to disappear. They're useful concepts, and functional isn't going to make them obsolete.
- swannodette 13y agoClojure actually embraces many of the great lessons of OO, you'll find them in the form of first class namespaces, a standard library built on abstractions not concrete types, a multimethod facility which supports derivation, and protocols which support local and future extensions in much safer nicer fashion than what the current popular OO languages provide. To your other points - Clojure does data great - much nicer than OO languages I've used. As far organizing UIs better Clojure programmers adopt many of the same patterns that are currently en vogue. However I think there are some more interesting new techniques just around the corner and we will be hearing about them soon enough.
- weavejester 13y agoI don't think it's useful to criticise other programming paradigms without substantiation, and it's hard to claim one paradigm is better than another without making some pretty large assumptions. That said, if you subscribe to the assumption that good software design is about separating a system into discrete elements of functionality, then the functional model is generally preferable over the OO model. In OO languages, unrelated concepts such as polymorphism, encapsulation, namespacing, inheritance and (often) mutable state are combined together to produce classes and objects. In functional languages, these concepts are generally kept separate.