Hi Curtis,

I get my fuzzies from at least a few places:
  1.  bottom-up, interactive development.  This means frequent testing
(at the REPL) of individual or small sets of functions, as I write
them.
  2.  assertions liberally sprinkled in key places.
  3.  multimethods that are difficult to call with the wrong type of
arguments.

I don't miss compiler-generated errors much, since the equivalent
runtime errors will typically be triggered the first time a given code
path is executed, and by (1) this is usually soon after I've written
the code  (often much sooner than I would have compiled a
corresponding C++ file).

Also, keep in mind that there are just not that many types of Clojure
objects to get confused (sequences, vectors, sets, maps).  Of course,
maps in particular can be used to represent many different types of
things (e.g., structs).  To prevent bugs from confusing different
types of maps, I use clojure.contrib.map-utils/safe-get extensively in
the place of "get".

Anyway, that's my 2 cents, but I'm sure other people can give you much
more eloquent and convincing answers :)

Cheers,
Jason

On Mar 9, 10:16 pm, zoltar <cur...@stanfordcomputing.com> wrote:
> Hey everyone. I've been keeping up with developments in Clojure for a
> few months now and have a question for all you long-time static typers
> out there (I know you're there :)
>
> I really like what I read about Clojure and LISP in general and can
> see the potential for great power and flexibility. I know the
> advantages/disadvantages of static vs dynamic languages but I can't
> help feeling like I'm losing something whenever I try Clojure. I am
> admittedly brainwashed after years of C, C++ and Java but I miss the
> warm fuzzies when I know the compiler has checked all the types for me
> and I don't have to worry about a whole class of run-time errors. I'm
> willing to give that up for the advantages Clojure gives me but I was
> wondering how others have dealt with the loss of these static warm
> fuzzies. I always feel a bit lost in Clojure, not knowing what types a
> function expects or what it will return. I suppose this goes away in
> time but any advice is appreciated.
>
> Curtis
--~--~---------~--~----~------------~-------~--~----~
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
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