Results from the State of Clojure, Summer 2010 Survey
muckandbrass.com
muckandbrass.com
But at the same time, everyone knows Java's got some really good infrastructural libraries for web work. Since nearly everyone in the web sphere works in some sort of dynamic language, it's unsurprising they'd try Clojure when it'd split the difference between Java's somewhat-famous libraries and a pure dynamic-typed language like Clojure.
Most of the work I see in Clojure web development tends to keep Java at arm's length. Deploying to servlet containers is common, but beyond that I haven't seen an awful lot of overlap.
My experience might be atypical, of course.
The number of "green-field" projects are an indication that a web framework built for a dynamically typed, functional lisp, has a very different structure to one built for a statically typed object-orientated language like Java. If anything, I see Clojure web development relying less on native Java libs in future, not more.
This is a domain-specific problem, not a general one. Simple host library interop is just the beginning -- annotations are a next step, and I can imagine being able to emit Java source being a later step (so that one can deploy applications that include code written in Clojure to environments where one might not be able to ship with Clojure).
It seems to me that the philosophy of most Java frameworks is so different from that of Clojure, you'd have difficulty reconciling the two. I'm sure you could write a Clojure interop wrapper, but it seems to me as though there wouldn't be many advantages to using it.
Clojure as a gateway drug on the JVM for functional programming. Cool stuff.
Where in the data do you get that it is the first functional programming language for any users?
I haven't read the whole thing in detail, but in skimming through it a few times I didn't see anything that referred to any prior experience with FP.
I appreciate that clojure is less hardcore about its FP than Haskell, but it is still 'real' FP rather than the pseudo-fp of mutable-by-default, objects-first python, ruby, and javascript.
Anecdotally clojure delivers on some of the promises that those three languages (implicitly?) endorse (I've written python and javascript professionally for a number of years). I've dabbled in a bunch of FP languages (Clojure, Haskell, F#) as a result but I've settled in clojure. Haskell has many qualities that make me want to settle on it, but its strongest features (amazing static type system, full lazyness) is also the feature that causes me the most difficulty. In the end clojure provides more of what i was enjoying about python and js and much of what I like about Haskell but in a less frustrating way.
(caveat: I don't have a planet-brain - maybe if i did i would have settled on haskell instead).
When i answered the 'languages id go to question', i was assuming 'if clojure disappeared today', rather than 'which of these is clojure a stepping stone too'
"What language did you use just prior to adopting Clojure – or, if Clojure is not your primary language now, what is that primary language?"
Clojure is my favorite language right now and, if I had taken the survey, I would have answered "Java" because that is what I use for most of the day at my job. However, I have also used almost every language on that pie chart (except for Ada and C#) and would prefer almost any of those over Java (except for C, C++, and C#) if other people were not involved in the choice of my primary language.
Fortunately, I have successfully lobbied to have Clojure included in my workplace. I am very much enjoying the transition away from Java.
I thoroughly recommend intermediate and advanced JavaScripters to give Clojure a good long look. You'll be blown away.
I wonder if this is because of the high slime usage. The slime debugger doesn't play well with java exceptions because the stack gets unwound. JSwat is the advertised debugging option--wonder how many slime users have tried it.
As an example, the only time you hear Clojure mentioned in the Scala community is when it is being complimented or porting of one of its features to Scala is being discussed. On the other hand, The only time you hear Scala mentioned in the Clojure community is when it is being derided as an inferior creation to the mighty Clojure!
Even in this article, which is supposed to be about the community's response to Clojure, the author both ignores the fact that Scala is the next most favorite language of those interviewed and also reserves a nice bullet point at the end for putting it down.
The more non-Java languages gain traction, the better the world is for Clojure programmers, so I wish the Scala community only the best. That said, I'll never hesitate to blow Clojure's horn when it has a striking advantage. I would expect nothing less in return.
Scala was mentioned positively as one of the next most favorite languages. I certainly wasn't meaning to put down Scala by including that respondent's (very, very tame IMO) comment.
Overly sensitive, perhaps? :-)