The problem is about the overloading of the "object based" expression.
A step forward could be to recognize that: * Java is a weak/simplified version of a class based language (simplifications made for several well known reasons: ease of adoption by C/C++ crowd: - algol like syntax-, reduced functionalities for debatable reasons: e.g. no C++ multiple inheritence/templates/pointers-, not fully class based for debatable performance reasons: primitive types, not everything is a class method). It did at least have the good property of popularizing the JVM and the notion of garbage collection, to cite the most evident to me. * Javascript (at least in its ancestral forms, don't know for sure since the later ECMA standardizations) is a prototype based language => true object orientation, methods "belong" to objects, not to their classes (by belong, I mean one can redefine methods on an object basis) * Smalltalk is a pure class based language. No static methods in smalltalk, thanks to its correct use of the meta-class concept. * Clojure is a pragmatic language, function based, with a clear story for managing the parts of your application which require manipulation of internal (essential) state, or external (I/O resources) state. I don't know if it is at all possible to map the "concept" of "object orientation" to one category and not the other ... 2010/2/11 Jeff Schwab <j...@schwabcenter.com>: > Joel Westerberg wrote: >> >> You can work with java objects. But clojure itself is not object oriented, >> because it's functional, and object orientation requires state manipulation. > > By whose definition? Are you saying there is no such thing as an immutable > object? > >> Other lisps support object orientation, common-lisp for example. > > Clojure is not purely functional. In fact, it has special support for > managing mutable state in coherent ways. > > -- > 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 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