On Friday, 27 December 2013 21:17:48 UTC, Kelker Ryan wrote:
>
> In your opinion, what's the best, and what's the worst aspects of using 
> Clojure? 
>

The best part is the community + ecosystem: the innovative and useful 
libraries created by the community that build on Clojure's design strengths 
(immutability, data, concurrency, abstraction etc.), plus the great 
integration with the vast ecosystem of Java/JVM libraries and tools. I love 
the fact that the libraries are easily composable rather than "one size 
fits all" frameworks. This gives you great platform reach and productivity.

The worst part is the design of the namespace system / dynamic vars. It's 
an uncomfortable mess of mutability and side effects in the midst of an 
otherwise very nicely designed functional language, and it is a major cause 
of various downstream problems (lack of circular compilation references, 
harder to build solid tooling, performance overhead of var lookup, 
preventing better compiler optimisations, putting obstacles in the way of 
smarter type inference, etc.). IMHO namespaces would be much better 
designed as environments that are immutable and declarative (The dynamism 
that we all love could still be provided by allowing redefinition and 
dynamic recompilation in a way that produces a new namespace, i.e. 
namespaces would behave much more like Clojure's other immutable data 
structures).

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