Live data from Hacker News

Results from the State of Clojure, Summer 2010 Survey

muckandbrass.com

21–27 of 27 posts

Re: Results from the State of Clojure, Summer 2010 Survey

#21
post #13

Earlier quoted context omitted.

Gateway drug? With all due respect to Haskell, it's FP heroin.

Well, from this data it is the first functional language/drug for a significant proportion of users, so in that sense it is a gateway.

Ah, point taken :)

Re: Results from the State of Clojure, Summer 2010 Survey

#22

Earlier quoted context omitted.

I'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 atypi…

Most 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).

Why 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.

Re: Results from the State of Clojure, Summer 2010 Survey

#23
post #13

Earlier quoted context omitted.

Gateway drug? With all due respect to Haskell, it's FP heroin.

Well, from this data it is the first functional language/drug for a significant proportion of users, so in that sense it is a gateway.

"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.

Re: Results from the State of Clojure, Summer 2010 Survey

#24
post #13

Earlier quoted context omitted.

Gateway drug? With all due respect to Haskell, it's FP heroin.

Well, from this data it is the first functional language/drug for a significant proportion of users, so in that sense it is a gateway.

I'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'

Re: Results from the State of Clojure, Summer 2010 Survey

#25
post #13

Earlier quoted context omitted.

Gateway drug? With all due respect to Haskell, it's FP heroin.

Well, from this data it is the first functional language/drug for a significant proportion of users, so in that sense it is a gateway.

The data is not clear about that. If I had taken this survey, my response to the following question would make you think that this was my first functional language, when in fact I have been exploring exotic languages for about five years.

"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.

Re: Results from the State of Clojure, Summer 2010 Survey

#26

Earlier quoted context omitted.

Most 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).

Why 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 we…

I 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).

Re: Results from the State of Clojure, Summer 2010 Survey

#27

Earlier quoted context omitted.

Why 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 we…

I 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…

Maybe. 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.

Post reply on HN