4 ms·
Results from the State of Clojure, Summer 2010 Survey
- joubert 16y ago404
- deleted 16y ago[deleted]
- KirinDave 16y agoMyself personally, I didn't find it that surprising that there were a lot of people interested in web work. I think it's self-selection; people in the web industry are far more amenable to trying new (also read as: unproven) technologies or languages. 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.
- weavejester 16y agoI'm not certain that's the case. There are a lot of Java web frameworks and libraries, but many of them are orientated around static class-based designs, which don't translate well to a functional paradigm. 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.
- cemerick 16y agoMost of the work in Clojure web dev so far (that is also publicized, that is) is also oriented towards green-field projects, and not integrating with existing web frameworks. That will change, at which point Clojure will come to embrace Java warmly when necessary (e.g. witness the addition of annotation support).
- weavejester 16y agoWhy do you think it will change? Whilst Clojure has very support for interfacing with native Java libraries, they are fundamentally two very different languages. 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.
- cemerick 16y agoI wasn't saying that idiomatic web development in Clojure will change, just that whatever pieces are necessary to support deep integration with existing web frameworks and tools will continue to emerge. 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).
- weavejester 16y agoMaybe. My experience of Java web frameworks is that they mostly tend to be written in very idiomatic Java. So lots of objects and factory classes, XML configuration for the older frameworks, annotations for the newer ones, that sort of thing. 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.
- snippyhollow 16y ago3% of "I remember when #clojure had 6 people in it" => 200 persons answered this survey.
- cemerick 16y agoNot sure how you get that. Check out the original data; 13 people responded "I remember when #clojure had 6 people in it" (which seems exactly right, taking timezones into account).
- snippyhollow 16y agoOk, didn't see this "13", and I was assuming they were online h24 (seems ok to me! :D).
- dons 16y agoI think the most compelling data here is the languages people came from: Java, Ruby, Python. And the languages they'd go to Scala, Haskell, Erlang et al. Clojure as a gateway drug on the JVM for functional programming. Cool stuff.
- francoisdevlin 16y agoGateway drug? With all due respect to Haskell, it's FP heroin.
- dons 16y agoWell, from this data it is the first functional language/drug for a significant proportion of users, so in that sense it is a gateway.
- francoisdevlin 16y agoAh, point taken :)
- jamesbritt 16y ago"Well, from this data it is the first functional language/drug for a significant proportion of users," 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.
- brehaut 16y agoI'm not entirely sure I agree. The data also seems to indicate a significant chunk of users have moved from other dynamic languages. Perhaps they are the gateway drug? 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'
- swannodette 16y agoI'm a bit sad that only few people come from a JavaScript background. My interest in Clojure arises directly from being spoiled by how hackable JavaScript is. I wanted that same level hackability but with performance and concurrency and an extra dose sanity. While I still live and breath JavaScript at work and play, JavaScript is a very crippled language by the very nature of its design (intended to run single threaded in the browser, subsequent snail's pace evolution because of this browser dependency). Clojure is a dynamic language hackers dream on so many levels - the FP stuff is often just icing! I thoroughly recommend intermediate and advanced JavaScripters to give Clojure a good long look. You'll be blown away.
- marketer 16y agoInteresting data, but the comment about political polls is a bit misleading. Political polls are a random sample of a target population and are designed to avoid biases. This is a voluntary survey with plenty of response bias, so I'd keep that in mind when drawing conclusions.
- cemerick 16y agoI was only referring to the number of respondents, not the overall methodology. But again, I disavow any expertise or sense when it comes to actual polling. :-)
- sreque 16y agoI respect Clojure as a language, but I'd respect the community a lot more if they didn't oversell their language and didn't trash on competing languages so often. 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.
- cemerick 16y agoScala is discussed frequently in Clojure circles, both positively and negatively. The former isn't fanboyism, and the latter isn't trashing -- it's talking about tradeoffs, experiences, and opinions. These things happen on the internet. 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? :-)
- jkantz 16y ago"Poor / incomprehensible error messages and stack traces are far and away the most common complaint." 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.