I think a better way to phrase the poll would be: Which alternative JVM language do you actively use most?
I've met a lot of people who like and use groovy and have it in production but almost nobody who actively uses clojure or scala. Maybe I am biased by my social circle or maybe people are just answering the poll based on what language they think is coolest and not the one they actually use.
Depends on what you want to know of course but I'm more interested in what people would prefer to use. I'd imagine that many people are still using Java and I wonder how many would prefer to switch.
For me, I use Scala at work now but I'd prefer to use Clojure. Probably an even better poll would be what do you use and what would you prefer to use.
Very important feature that. I usually choose my language based on such important considerations. Busy deleting my Scala code as I write this and rewriting it into Java code 5-10 times the size so I don't have to suffer from being confused between null and None. Something in the back of my head tells me it has something to do with the infamous null pointer exception...
I'm not confused between null and None. That's obvious and wholly pointless.
You should know that you must initialise all types to a default value. Then you don't need a language feature for "None". Being lazy or stupid is not a reason to add a language feature.
Oh and none of my code has thrown an NPE for over 10 years. That was when I started using pre and post condition checking which ultimately solves a lot more problems than some language feature.
There is nowt wrong with null, if you truly understand what it is.
That's a lot like arguing that since my C++ code hasn't segfaulted or leaked memory in 10 years that garbage collection in Java is essentially pointless. I also don't see much need for classes in that new-fangled C++ thing since my assembler code has a "solid" feel to it and has worked reliably for years. Being too lazy to initialize registers correctly is not a reason to add more features.
I didn't like this poll, with only being able to make one choice. Should be a "favorites" poll. I rely pretty heavily on both Clojure and JRuby for my work, and for experimental learning projects. I would have liked to vote for both languages.
Edit: I just took the poll a second time, problem solved :-)
A rather useless question. The word "prefer" is much too vague.
I'd be rather interested in how much experience people actually have with these languages and whether they plan to continue using that language in future projects.
The popularity of a language is important. If developers don't like a language they won't use it. Look at Ruby a few years ago as an example of a popular language which was hardly used which became on of the most widely used scripting languages in modern times.
I'm not sure though whether "prefer" (prefer for or as what?) actually measures popularity ... but what kind of popularity anyway? Fanboy-fellowship? People actually using it for work that earns them a living? Hearsay/gossip?
With respect to your ruby example, I have been using ruby for about 10 years but stopped doing so a few years ago. So please excuse me if I fail to see your point. :-)
Commonly used and popular are not the same thing. I happen to know a number of developers who hate Java, but code in Java for a living. By popular I mean number of developers who actually enjoy using the language. There are better ways to measure usage e.g. job ads on indeed.com.
Personally I think Xtend, Ceylon and for that matter Kotlin are "me too" languages, just trying to get some piece of the pie, and most likely won't go nowhere.
I agree, I much prefer native compiled languages. I really like clojure and used it for about a year. I stopped because In doing a lot of embedded development so I need to use C and Ive been using C++/qt for desktop gui apps. Since then, though, Ive been kinda put off going back to clojure because its not native compiled even though I like the language itself.
Not really. I've toyed with both Common Lisp and Scheme and while I love Scheme for its simplicity and minimalism (at the core, anyway), in my mind they're both really quite different from what Clojure provides. Common Lisp seemed much too clunky and patched together to me, compared to how Clojure is designed to cleanly sit on top of its sequence abstraction, Clojure's notion of time and concurrency and even just how Clojure eliminates the need for some of the parentheses that are required in CL.
I'm sure its a matter of taste (and I actually do quite like Scheme, I guess just not enough to try and make it work for me right now...).
Having said that and ignoring Clojure, I also appreciate languages with a little more syntax sometimes, so I guess that's also held me back a bit. I should give Scheme or Common Lisp another try and see if I can't use it for my current work, but its hard to set the time aside, I guess.
I've met a lot of people who like and use groovy and have it in production but almost nobody who actively uses clojure or scala. Maybe I am biased by my social circle or maybe people are just answering the poll based on what language they think is coolest and not the one they actually use.