On 13 dec, 08:12, Raoul Duke <rao...@gmail.com> wrote: > hi, > > > 2. In my mind, the single most important use of OO is polymorphism. > > The ability to associate functions with multiple implementations > > depending on their parameters is very useful since it means you can > > generalize algorithms without having to know the implementation > > details of the data that's passed in. > > this probably isn't the right list to get into such things, but... :-) > > i think that polymorphism here would need to be better defined since > there are many kinds of it, and that a lot of polymorphism doesn't in > any way have to be anything about OO at all. i'm just trying to warn > against believing 'OO bijection Polymorphism' or some such.
Of course you don't need OO to do polymorphism, and I'm fairly sure that OO doesn't do polymorphism the best way, but in my estimation the main reason "classic" OO is so popular is that it provides a very concrete way to do polymorphism easily. In the same way, you can do "functional" (side-effect free) code with objects too. They're not mutually exclusive. It's just that doing stuff side-effect free pretty much forces you to drop many of the classic OO patterns. -- 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