3 ms·
Ask HN: Why are there more clojure jobs than Haskell?
Hi,
My background is in C, Java and Python. Of late, I wanted to learn a functional language and have started learning Haskell. But haskell being what it is and my limited time, it would be quite some time before I can be confident in it. I have been looking at the 'Ask HN: Who is Hiring' http://news.ycombinator.com/item?id=3300290 nad find that there are more jobs pertaining to clojure than haskell. I'm seeing this pattern often in the industry, though google trends suggests otherwise http://www.google.com/trends?q=clojure%2C+haskell&ctab=0&geo=all&date=all&sort=1 . For a mature language like Haskell, one would expect a more widespread adoption. Why is it not so ?
- madhouse 15y agoAs far as I see (with my limited Haskell and Clojure knowledge), Haskell, being pure functional, has a much steeper learning curve than Clojure, which while mostly functional, focuses a bit more on being practical. Furthermore, Clojure can use the already existing Java libraries, while in Haskell's case, the number of available libraries is considerably smaller. Clojure plays nicely with Java, so you can mix and match Clojure developers with Java devs, and they won't go for each other's throat. Haskell doesn't play all that well with any other language.
- sharmi 15y agoThank you madhouse, I suppose then it makes sense to learn both.
- malandrew 15y agoClosure, being basically LISP, has the benefits of S-expressions. S-expressions are a super powerful language feature when it comes to natural language processing. Given how much is being done around NLP these days, it's natural for there to be a lot going on work-wise with Clojure. I also agree with Madhouse's explanation of the steeper learning curve. The biggest problem with the steep learning curve is that there are far fewer examples in the wild of solving business problems with Haskell. The library support that Madhouse mentioned also compounds this problem.
- malandrew 15y agoI would appreciate if the person who voted this down could at least explain why this answer deserved it.
- adrusi 15y agoclojure has more jobs because it can work with existing java projects out of the box, with no need to refactor at all (to make it work, you would probably want to organize things in a more clojure-friendly way). Haskell has remarkable interop with C when you consider how fundamentally different they are, but you can't just plug it into an old C project. Java is everywhere, if a company is switching from java to a functional language, it's cheaper to make an organic transition using clojure, reimplementing when it seems appropriate, than it is to use Haskell, where no code could be left unchanged. There are of course practical benefits of haskell to employers. It's faster, it tends to be easier to make major extensions to a haskell project without refactoring than in other languages, it's easier to reason about the code so new employees will be confident sooner, Haskell protects against subtle bugs that might not be noticed during debugging, etc. Also, just because Haskell has been around longer than clojure, it was considered an exclusively academic language until only a few years before clojure came out.