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