5 ms·
I really wish I had the time to learn Clojure. Between Rich Hickey's general wisdom and skill, my (small but fun) exposure to Lisps, and David Nolen's ClojureSc
by peruvian 11y ago
I really wish I had the time to learn Clojure. Between Rich Hickey's general wisdom and skill, my (small but fun) exposure to Lisps, and David Nolen's ClojureScript, it looks like a great environment to get into.
- eliben 11y agoIt's very much worthwhile. Apart from being a Lisp, which says a lot on its own, Clojure has a bunch of other "brain-expanding" features. Its approaches to immutability, concurrency, and higher-order function munging (reducers and transducers), in particular, are very enlightening even if you end up writing something else for living.
- hnmcs 11y agoOne's life changes so much, after they leave /r/javascript and join /r/clojure. Forgot to mention, clojure community isn't doing too badly at StackOverflow: http://stackoverflow.com/research/developer-survey-2016#technology-most-loved-dreaded-and-wanted http://stackoverflow.com/research/developer-survey-2016#tech...
- jgalt212 11y agoI like Clojure a lot and I consider the community tops in intellectual firepower. That being said, there is nothing great about transducers, they are merely a necessary hack because of Clojure's immutable data structures. To get around this computation bottleneck, you mutate the code instead of the data. So transducers are a great hack, but not a great feature of the language, more of a necessary evil.
- jfaucett 11y ago"really wish I had the time to learn Clojure." I would say don't bother. The language is a nice lisp (nice simplifications, great immutable ADTs, edn, pretty good async libs, etc), but the ecosystem tooling is still miserable IMHO - this is coming from someone who has worked around 6-12 months on a couple of clojure projects, so I'm not a die hard expert but I've worked enough with it to build with/have used clojurescript,clojure,java bindings,leiningen/boot,clojars etc. I really wanted to like clojure. The idea that I could run my code on the JVM and in the browser is alluring. And, I would add, if you like using mvn or ant or gradle or in general the java way of doing things, you will probably think leiningen is good enough. But I have zero tolerence for annoying/unnecessary headaches, and so I can't take it, and don't program any of my projects in it. What do I consider good? Well an analogous project is Mix for Erlang/Elixir, and I think its an excellent example of what I wish leiningen were. Anyone can learn Mix in about 10 minutes, you can easily use it for erlang & elixir projects, I have had zero problems and stuff just works. This is not the case with leiningen, which makes building and deployments unnecessarily complicated in clojure. I don't see clojure getting mainstream until someone starts concentrating more on the user experience in the tooling, though this may be more of a java/jvm originated problem, still it affects your whole experience while using clojure.
- bachback 11y agothe tooling is way superior to common LISP, since it can leverage the huge Java ecosystem. Clojure tooling - it's basically a jar, so if you know how to use Java, you can always fall back to that. ayes, if you want a fully integrated stack with Clojurescript it takes considerable time. I spent that time and it beats everything I know hands down. if you want to code like everyone else, use something else. if you want to 10-100x productivity gains long-term then spend the time. http://paulgraham.com/avg.html http://paulgraham.com/avg.html
- Guthur 11y agoCheckout this series and quicklisp and then with a straight face say tgat clojure experience is better http://malisper.me/2015/07/07/debugging-lisp-part-1-recompilation/ http://malisper.me/2015/07/07/debugging-lisp-part-1-recompil... I have used both professionally and find the dev tooling for clojure very immature. Debugging tools is not a modern feature yet clojure jas very little
- base698 11y agohttp://endlessparentheses.com/cider-debug-a-visual-interactive-debugger-for-clojure.html http://endlessparentheses.com/cider-debug-a-visual-interacti... The cider debugger is one of the best I've seen. I've been able to stop, inject code and create a test case for failing tests. Cursive has similar functionality as well if you are afraid of emacs becoming a lifestyle :)
- s_kilk 11y agoAgreed. I've been doing Clojure (on and off) for about 4-5 years now and the tooling is as bad as it's ever been. Compared to Elixir/Mix it's downright embarrassing. Incidentally, I've been putting more effort into Elixir/Erlang recently, I honestly see more of a future there (for me) than in Clojure. Clojure was definitely a mind-expanding language for me though, no regrets learning it.
- devty 11y ago
- z3t4 11y agoI like Rich Hickey's talk about "complex" code. But believe it or not, it's possible to write simple (not complexed) code in other languages too!
- znt 11y agoJust give this a go: http://www.4clojure.com/ http://www.4clojure.com/ Don't need to install anything.
- branchly2 11y agoClojure is great if you want to use it in an enterprise, multithreaded, Java shop working on large amounts of data. It's really great at exactly those things. If that's not your use case, then it may not be a very useful environment to get into.