On Thursday, December 26, 2013 7:51:39 PM UTC+1, James Reeves wrote: > > On 26 December 2013 16:32, Massimiliano Tomassoli > <kiuh...@gmail.com<javascript:> > > wrote: > >> Thank you, Malcolm. I'm completely new to LISP and its dialects and I'm a >> little bit worried about the absence of support for OOP in Clojure. How do >> you decompose large systems in Clojure? >> > > You write functions. To quote Alan J. Perlis: > > It is better to have 100 functions operate on one data structure than to >> have 10 functions operate on 10 data structures. >> > Classes or objects are not simple data structures.
> IMO, OOP just makes it harder to build modular systems, because OOP > involves a lot of implicit connections between components. Clojure, and > other functional languages, tend to emphasise isolation more. > Why implicit? Objects communicate through well-defined channels. OOP can certainly be misused but it served me well for over 20 years (C++/C#). And Scala proves that FP and OOP are orthogonal paradigms. I can't see how the lack of OOP is a good thing for Clojure, honestly. I'm willing to give up mutability because I never programmed that way and I believe it can be a good thing (after I get used to it), but giving up OOP means going back to something I already know and I don't like. -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.