Santhosh G R <kusim...@gmail.com> writes: >> > Clojure is a multi-paradigm language >> no it's not, and it's most certainty not an OOP >> language:http://clojure.org/rationale > > I hear about this everywhere. Is Clojure not a multi-paradigm language > because that is the rationale for the language? For me - It supports > functional programming. It supports object orientation, though it does > not support object oriented constructs.
Clojure's Wikipedia article calls it multi-paradigm, which may be partly where the confusion is coming from. Funnily enough Wikipedia also claims Java is multi-paradigm, having the four paradigms: generic, reflective, imperative and object-oriented. I wouldn't call this multi-paradigm as these four things are mostly orthogonal and don't really constitute different programming styles. > Yep, definitely it does not encourage multiple paradigms, but it > allows you to do so! You can do object-orientation in C (see GObject), does that make it an object-oriented language? If so than every language is "multi-paradigm" so the word is meaningless. ;-) In my mind the difference between a multi-paradigm language and one that is not is about what is idiomatic, rather than what is and is not possible, as the latter always reduces to a Turing-completeness style argument. Classic examples of multi-paradigm languages are Common Lisp, Scala and Perl. Clojure is certainly not multi-paradigm in the same sense that these languages are. Clojure has a very strong style of its own, which is definitely not imperative or object-oriented but neither is it purely functional, but just because it doesn't fit perfectly into one of the traditional categories doesn't make it's multi-paradigm. Of course that's just my interpretation. :-) -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to email@example.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