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.

Reply via email to