Hacker News new | comments | show | ask | jobs | submit login

I've been using Clojure for maybe 3 months now.

> The documentation is bad.

Mostly true. Initially, I got The Joy of Clojure, which is really good and helped me bootstrap my learning process. Now, if I need to know something, I look up the source. This process seems to work well.

The only problem with this strategy is that sometimes I'll not know of a better way to solve a problem (for example, I only discovered update-in a few days ago. Don't ask what I've been doing before that.)

The best way to solve this problem is by pair programming with someone else who knows Clojure. Failing that, you can hop on IRC; people there are super helpful and willing to write big code samples just to make sure you get it. And be sure to read a lot of source code to pick up common idioms, etc.

> Error messages are unhelpful.

This is true, but here's a quick tip: if you just look for errors that come from your-namespace.core (or whatever) then you can rapidly ignore about 99% of the extraneous junk that pops up.

Unfortunately, there's always that 1/10 chance that your error has no line number. Not much you can do about that, except guess where the reported error is coming frm, and hope for more progress in clojure in clojure :/

> IDE support

Use emacs with swank clojure. Just do it. It's amazing, and you won't look back. I'm saying this as a hardcore vim user with visual mode tattooed on his back. (I have to use viper-mode and vimpulse - which makes emacs pretty much just the same as vim.)

> It suffers from using the JVM

I really don't understand this point. I believe JVM integration is a win all around. It allows for speed without much effort, and it gives access to a huge wealth of libraries without need for a community to build them.

Some closing remarks:

You've got to remember that Clojure is only 3 or 4 years old. If you're (subconsciously or not) comparing it to languages with 10 or 20 years of history, the older languages will always dominate in terms of documentation, support, etc. This is unfortunate for new languages, but also exciting, because it means that even beginners like me and you can pick off low hanging fruit and make important contributions.

Applications are open for YC Winter 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact