Mark, I don't disagree with your message as a whole, but:
Once you start using mutable arrays and type hinting every single variable, why aren't you just using Java?
The argument I've heard is this: there are two ways to get a fast program in a slow-by-default language.
The first is Python's way: write the whole thing in Python (high- level), find out the parts that are slow, then rewrite those in a different language (C). Now you need a C compiler, you need to build separately on each platform, and so on.
The second is Common Lisp's way: write the whole thing in un-annotated CL (high-level), find out the parts that are slow, then add annotations or make representational changes (lists => vectors, alists => hash-maps) to allow the compiler to make them fast.
The argument is that being able to use *the same language* to write anywhere on the spectrum from slow/succinct to fast/verbose is useful: no complex combined build system, no bridging between environments, iterative development, easier profiling, your code always works, etc.
If I can take one little part of my Clojure program and make it ugly like Java to get it as fast as Java, it's better than having to actually _use_ Java in a heterogeneous project.
-R -- 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