

Ask HN: How is clojure doing? - kamaal

Throughout my life I have been programming heavily in dynamic languages. Primarily Python and Perl with a little Java now and then. I'm not too deep into Java and haven't plumbed to deep into it.<p>However now I've been told that I need to learn a 'real language'(whatever that means). I don't want to go the OO path learning Java. The problem is here in India the Java and in general the OO market is full of low price developers. And being a part of that crowd means difficulty in finding a niche and expertise. So far I've done well with Perl and Python to retain that niche. Surprisingly not many have gone deep in Python/Perl in the Indian job scene.<p>I want to learn a functional programming language. Something in which I can develop large scalable systems. I've read Mark Jason Dominus's Higher order Perl and used many functional techniques in Perl. I've watched SICP-MIT videos a while back and I'm completely convinced of the technical merits of lisp.<p>So my question on learning lisp is more on 'making a living' reasons. I want to give sufficient time and learn clojure as a primary language in which I want to spend time working on in the future. So the questions are.<p><pre><code>    1. How will learning clojure help me in job/career areas?
    2. Will learning clojure be helpful to switching to other Lisp dialect if they come up in the future.
    3. How is the entire Lisp hiring scenario look in the industry.
    4. Is anybody working on Lisp/Clojure currently and what are your experiences?</code></pre>
======
gw666
I've been programming in Clojure for 2 years and still consider myself a
beginner.

(Re. #2) Because of Clojure's immutability, you program differently than you
would in a state-based language (most mainstream languages). So learning
Clojure is not that helpful in preparing you for Common Lisp or Scheme. Just
learn Common Lisp or Scheme, if that's your final goal.

(Re. #3) I've seen web pages detailing jobs in Common Lisp. Search, and you'll
find them. Short answer: I don't think there are that many. Some independent
programmers who have (or take) the liberty of using whatever language they
want, get to use Lisps that way.

Re. "I'm not too deep into Java" and similar statements: FYI, Clojure is built
on top of Java and _depends_ on Java being used to get things done. Clojure
doesn't implement various things because of this; the language assumes that
you know Java well enough to "drop into" Java when Clojure itself doesn't
provide. (Clojure makes it very easy to do this, most _but not all_ of the
time--and the exceptions aren't documented.)

~~~
kamaal
If you have to find a job two years down the lane. Will you advertise yourself
as a Lisp programmer or a Clojure programmer?

I am asking this as, Do Lisp programmers in one dialect generally get hired to
program in another dialect?

~~~
kls
I think the problem with Clojure is that it does not translate to Lisp 1 for 1
or rather the other way, Clojure relies on many of the Java libs and therefore
requires some mastery of the Java API's this does not translate over to other
lisps. That being said, the Clojure market is small but healthy, I have
received several job offers for Clojure development in the past few months
which would have been unheard of a year ago. Clojure is growing rapidly from
my perspective and will continue to do so. Among it practitioners it is well
regarded which means that it will be adopted by others given the relatively
positive opinion that is held about it.

------
KingMob
Well, my $.02:

1\. In terms of employability? Not much immediately, but perhaps more in the
future as Clojure matures, more places use it, multicore languages become
"hot", etc. I have no idea what the demand for Clojure is like in India,
though. It will certainly make you a better programmer, however.

2\. Yes. The biggest hurdle is learning _a_ Lisp, not in switching between
Lisps. The actual keywords used may vary, but the underlying concepts will be
quite similar.

3\. Here in New York, I rarely see Clojure jobs advertised for, but there's
definitely people interested. I suspect it's mostly being used personally, and
for some small in-house projects at the moment. I expect I'll hear of some
startups using it as their language of choice in the next year.

4\. I love it, but I'm only using it at the personal level. I think it's an
extremely well thought-out language.

