On Mon, Oct 27, 2014 at 2:21 PM, larry google groups <
lawrencecloj...@gmail.com> wrote:
​

> The differences between OOP and multimethods should be stressed.
>
> I just wrote about this on my blog, and those who mostly worked with OOP
> kept wondering, how do you get inheritance of functionality?
>

​
​First of all, let me state that I'm a complete Clojure noob. Still, I
thought that Clojure's multimethods were a completely valid OOP approach.

​
Q
​uoting Alan Kay:

OOP to me means only messaging, local retention and protection and hiding
> of state-process, and extreme late-binding of all things. It can be done in
> Smalltalk and in LISP. There are possibly other systems in which this is
> possible, but I'm not aware of them.​


​Notice that he intentionally left "inheritance" out from that definition.

That means that the class based, C++ style that we usually call "OOP" is
actually just one particular kind of OOP - so the way that JavaScript,
Common-Lisp CLOS and, as I see it, Clojure multimethods do it are also
valid "OOP" as well, I believe.

Am I right? Or am I missing something here?


Thanks in advance,

Rogerio.


​​

-- 
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/d/optout.

Reply via email to