Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

There's been a lot of enthusiasm about JRuby, Jython, Groovy, and now Scala and Clojure as the language to be the successor to Java on the JVM.

But currently only Groovy and Scala are in the TIOBE top 100, and none are in the top 50. Is there any reason to think that any of this bunch will ever gain significant adoption?

My question is not primarily about TIOBE, but about any evidence that you might see that could indicate that one of these languages could get significant backing that goes beyond the enthusiasts.

share|improve this question
2  
This question is worded in a way that makes it basically impossible to answer. I know this is Programmers and all, but still. Perhaps you could ask something slightly less biased, like "What's Scala good for?" or "Where has Groovy really caught on?" or whatnot. –  Alex Feinman Dec 22 '10 at 18:35
4  
Why do you consider Jython to be a separate language from Python? –  David Thornley Dec 22 '10 at 19:20
    
Some claim that as the Java language declines, it will be replaced by another that runs on the JVM. Jython would be a candidate. My question isn't so much about the success of Python or Ruby, but about what sort of code will dominate the JVMs of the future. –  Eric Wilson Dec 22 '10 at 19:30
    
I kinda wish Steve Yegge's Rhino on Rails could be open sourced because it would bring javascript to the desktop. It would make javascript development for server, client, and desktop support a feasible option. I really like the idea of one language that is cross platform that I could do both desktop and web development on (using HTML/CSS as the GUI front-end). –  Evan Plaice Mar 18 '11 at 11:43
add comment

9 Answers

Arguably, the TIOBE index isn’t a good criterion. Also, arguably some languages have already caught on. Scala and Clojure in particular seem to stick out (at least on Stack Overlflow).

I actually expect Scala to gain quite a bit on Java in the next few years. Remember, it takes many years for languages to really gain traction and most of these alternative languages haven’t been around for that long.

Java also has gained a few image problems in the past few months (and admittedly this may be short-lived) due to Oracle’s changes in Java politics. This is a big chance for alternative languages to distinguish themselves as worthy alternatives.

share|improve this answer
add comment

I can remember when Perl, Python and Ruby didn't have any significant backing beyond the enthusiasts, and I'm not sure anyone could have predicted their success.

On the other hand, good things tend to happen once you get enough enthusiasts. Libraries get written and polished, and so does documentation. Over time, the language becomes "batteries included" because the army of enthusiasts codes up everything they happen to need.

Only time will tell if what happened with Perl, Python and Ruby will happen to the JVM languages. The ability to predict such a thing would probably be better applied to the stock market.

share|improve this answer
1  
Python also benefits hugely from Google's endorsement. My understanding is that Ruby's popularity is driven mostly by Ruby on Rails. Perl, well... –  Robert Harvey Dec 22 '10 at 21:29
add comment

SpringSource acquiring G2One and Groovy and Grails with it is a strong indicator to me that there's a need for other languages (in this case a scripting language) on the JVM. SpringSource has certainly been an indicator of what tools will be successful in the Java ecosystem for some years now.

Scala has features that Java will probably never have, and even features like closures are a long way off for Java. That's true of many of the new JVM languages. As developers are exposed to these features, it's hard to go back to Java.

You can point to major companies like Twitter, FourSquare, Sony Entertainment, etc who are using Scala in production, but to me the more telling piece is that developers are excited about these new languages and see value in the features they offer beyond Java.

I think Android may help out one or more of the new JVM languages a lot. I know a lot of people are writing Scala Android apps.

Java's obviously not going anywhere any time soon because there's a huge investment in it. So the JVM is around for a long time. But as a a language Java has started to lag behind. To me it seems very likely that new languages that offer concrete advantages over Java, but can be deployed to the same environment you already support will thrive in the developer community.

share|improve this answer
add comment

Alternate JVM Languages could get a significant boost on Android now that the Android Scripting Environment is available.

share|improve this answer
add comment

At the current time, seems like not. Neither Sun or Oracle, seems to push them as "commercial products", just like "toys" in conferences.

But, In the future, things may change...

share|improve this answer
add comment

I've been using Groovy for more than a year now, and it definitely has it's place. But it's not at all a replacement for Java, but a complement. It's a dynamic scripting language that shares some of its syntax with Java, but only on the surface. You get duck typing and similar features of dynamic languages, but on the other hand, you lose most of the compile time checks Java offers. It's also significantely slower.

share|improve this answer
add comment

I am about three times as productive in Groovy or Ruby or Python or Perl as I am in Java. The only thing preventing widespread adoption of more powerful JVM languages is inertia. The benefits of static typing are vastly overrated.

share|improve this answer
add comment

The other JVM languages already are catching on in a big way. Looks at StackOverflow, Hacker News, blogs about programming etc. and you'll see lots of excitement about new JVM languages. I guess Clojure, Scala and Groovy stand out most clearly but there are clearly also others with great potential.

You have to remember that TIOBE is something of a "lagging index" - many of the stats are biased towards measuring mainstream / corporate usage and only reflect language growth and adoption many years after the fact.

share|improve this answer
add comment

You're assuming that Java will decline (or is it declining already?). Maybe it will, maybe not.

But at the same time, you're assuming both JVM and the Java libraries would survive (since none of these languages have any advantage without both). How could that happen?

hum.... I think what I think is that both Scala and Groovy might grow but stay forever under the Java shadow, or die with it.

The other languages mentioned are just reimplementations, maybe one of them could be as popular as the main one; but if Java declines, it would return very quickly to the main platform, or a newer bytecode (LLVM? Parrot? CLR?)

Clojure seems to be in-betwen, it might be popular in a Java-friendly world; without Java, it could either die, or influence other Lisp variants without JVM dependency. But i don't think it has any desirable feature over more mainline Lisps beyond JVM compatibility (which is a big drag, IMHO)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.