On Sunday, November 6, 2011, Dennis Haupt <d.haup...@googlemail.com> wrote:
> this is a double edged sword. you *do* get it right *if* you think it
> through, but reality is often more complex than you assume. if you
> suddenly see that you forgot to handle special case x, you are
> punished harder than in <random statically typed oo language>.

I'll go a little further than Colin and say "IME"...

As a veteran of C++ and Java with time spent in Groovy, Scala and more
recently Clojure - and a decade of dynamic scripting languages for the web
- I've generally found OO languages, especially with strong type systems,
punish my design missteps much more harshly.

> in oo, you can do a few "emergency hacks" before everything becomes
> unmaintainable. in clojure, i could not do this without committing
> maintenance suicide immediately. for each case that popped up
> surprisingly, i had to do a bit of refactoring.

I think this might be a combination of the novelty of the pure functional
approach and your comfort level with OO. You're probably prepared to accept
a certain amount of hackery in OO that makes you immediately uncomfortable
in Clojure. I actually think that's a benefit of Clojure: it encourages
doing it right.

> that whole "dynamically typed" thing is creeping me out.

I've gone back and forth with type systems over the decades and these days
I'm firmly in the dynamic camp. Part of my PhD research in the 80's was
around type inference in dynamic functional languages (partly for
performance but mostly about correctness since that was my supervisor's big
thing). Working code was clearly working code, but the inferred types were
often more generic than anyone working in a statically typed language would
have picked - which meant more opportunities for reuse and more
flexibility.

I can definitely understand your feelings on this topic but I think as you
stick with it you'll get more comfortable with the thinking vs doing
approach, and writing truly generic code will mean fewer special cases and
less refactoring. So don't be discouraged!

Oh, while I've got your attention, could you turn off the PGP signature for
this mailing list? The UPPERCASE HEADINGS and big blocks of signature text
make your posts really hard to read, especially when you're replying and
quoting heavily in a thread. I'm writing this on my iPhone where the PGP
stuff is particularly unpleasant to work around!

Thanx,
Sean


-- 
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

Reply via email to