On Thu, Dec 26, 2013 at 8:32 AM, Massimiliano Tomassoli <kiuhn...@gmail.com> wrote: > Thank you, Malcolm. I'm completely new to LISP and its dialects and I'm a > little bit worried about the absence of support for OOP in Clojure.
I'm a little late to this thread (it's been one of those days!) but having read over your posts, I didn't get a good sense of why you are worried about the absence of support for OOP in Clojure? Like you, I have 20+ years of OOP experience - including eight years where I worked on the ANSI C++ Standards Committee - and I've worked with C++, Java, Groovy, Scala and a few other OOP languages during that time. I've developed and worked with static analysis tools and been able to look at millions of lines of code (mostly C++), and seen all sorts of horrors committed in the name of OOP :) Before that I worked on C and COBOL compilers, and various C and assembler projects. And before that I did FP, albeit in an academic context. For the last three years I've worked increasingly in Clojure. My team is slowly migrating from an OOP language and a 90Kloc system to Clojure (where we already have 16Kloc). Adjusting to FP from OOP can be hard - I've seen a number of Java developers really struggle with the transition. You might find Prof. Grossman's "Programming Languages" course (on Coursera) to be illuminating: it starts with Standard ML, then moves on to Racket, and then finishes with Ruby. Part of the course looks closely at what both FP and OOP bring to the table and how they can be viewed as complementary, orthogonal, and in some ways simply equivalent. > How do you decompose large systems in Clojure? I'm curious as to why you think only OOP allows you to decompose large systems? Between namespaces, protocols, multimethods, ad hoc hierarchies, and higher order functions, Clojure has a lot of tools for organizing code... -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ "Perfection is the enemy of the good." -- Gustave Flaubert, French realist novelist (1821-1880) -- -- 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/groups/opt_out.