On 11 February 2010 13:46, HB <hubaghd...@gmail.com> wrote: > Hey, > Since Clojure is a LISP dialect, does this mean that it doesn't > support OOP? > Thanks.
Regardless of whether Clojure supports OOP, not supporting it certainly doesn't follow from being a Lisp dialect. Take a look at CLOS (Common Lisp Object System), for instance. Incidentally, CLOS was, AFAIK, originally engineered as a package of macros and functions built on top of CL's core and only later included in the language standard. Similarly for being functional: apart from Clojure, Ocaml and F# offer OOP-like syntactic features in otherwise mostly functional language packages. While for F# this might be considered an interop feature, that's certainly not the case with Ocaml. I'm ill prepared to debate the correct definition of object orientation, so I won't offer one, but at the very least I feel justified in believing that there simply isn't one superior approach to OOP (personally, I'm partial to the approach of not prodding it with less than a 10 foot pole, but... um... never mind). If anything, Clojure's being a Lisp makes it easier to come up with your own approach, code it up and use it. And then the Java approach is obviously directly accessible through the Java interop facilities; perhaps not all of it at this stage, but enough to give one's code quite a Javaish smell if one so desires. Sincerely, Michał -- 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