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.