exactly which part of OOP is missing in clojure that you would like to use? if you took my java code and ported it to clojure, the main difference would be (a b) instead of b.a , but the main design would be similar
2013/12/26 Massimiliano Tomassoli <kiuhn...@gmail.com> > 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>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. > -- -- 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.