Hacker News new | ask | show | jobs
by dizzystar 4667 days ago
My weapon of choice is Clojure and I don't really agree with this post. There is a serious lack of tutorials and guides to get basic things going, the documentation is all-around horrible, and in general, Clojure is a very difficult language to get started with, though it certainly has improved immensely over the past year and it is rewarding once you get past the initial humps and start to really grok it. Clojure is philosophically, a beautiful language, but you have to work very hard to get to that point. And may the programming gods have mercy on his soul if he prefers using Windows.
2 comments

How do you suggest that one should get past the initial hardships in learning clojure, assuming one is willing to put the needed effort? I've always wanted to learn a lisp and clojure seemed good, but couldn't find a good tutorial for lisp beginners.
The only advice that has helped me learn Clojure was: do not travel the road alone. Coming from a strong OO background, getting started posts/videos, REPL tutorials, and books only helped me to the point of reading and running Clojure. I agree with dizzystar that the documentation needs serious work, because I find myself reading the source for insight into how I should use things, or structure codebases. I think highly of Clojure, but don't expect it to be easy. Keep tabs with http://clojure.org/cheatsheet and http://clojuredocs.org open at all times, a REPL available at all times, and either use emacs/*nix or accept being in the suburbs.
I wish I had an answer, but I wasn't a Lisp beginner when I started with Clojure.

I'd definitely suggest using Linux, installing Clojure + Leiningen2, and getting familiar with the REPL. Also, getting Clojure Programming by Chad Emerick, et.al, is a solid first step to at least getting some things started.

Learning Clojure is like any other language: if you want to really dive in, you have to think of a project to get started in and take it step-by-step. I have not written algorithms or done scripting with Clojure, so I don't know how that stuff would work out. I feel there are better languages for that kind of stuff.

The "Clojure Programming"[1] book is good. Also "The Joy of Clojure"[2], to ease you into the philosophy/mindset of Clojure.

There's also http://www.braveclojure.com which is still a work in progress but it's good for diving in.

[1]: http://shop.oreilly.com/product/0636920013754.do [2]: http://joyofclojure.com

The Clojure koans are a good place to start - https://github.com/functional-koans/clojure-koans
The koans would be a good starting point: https://github.com/functional-koans/clojure-koans
Actually I completely disagree with you. Coming to Clojure with absolutely no lisp or functional programming background (and little java experience), and while it's been challenging to learn a new way of thinking, it wasn't hard to find documentation, read source code, or ask a question in #clojure. Leiningen really made the process more streamlined.

http://cemerick.com/2012/05/02/starting-clojure/ http://clojure-doc.org/ http://clojure.org/cheatsheet

and (source <thing>) have been great resources.