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

Reply via email to