BT

InfoQ Homepage Research What's Your Next JVM Language?

What's Your Next JVM Language?

Bookmarks

InfoQ's research widget has been deprecated. It should continue to work however, and we hope to relaunch it at some point in the future.

The slow evolution of the Java language has increased interest in JVM languages.Java 7's brought JSR 292 (invokedynamic and its support libraries) to improve the performance and flexibility of languages targeting the JVM.

It seems the stage is set for companies to adopt a JVM language to raise the productivity of their developers (or at least keep them from leaving for other companies that have adopted more trendy languages).

So if you're evaluating the switch to another language or have already decided, InfoQ would like to know: what is you're next JVM language?

The Languages

In order to simplify this question, we've decided to focus on JVM languages that are: currently actively developed, general purpose, and suitable for enterprise or server side development. We've left out languages like Processing which are aimed at a specific domain (even though they might be general purpose). 

The list can be roughly categorised as

Note: InfoQ is aware that languages are a controversial, touchy subject. If we've left out your future JVM language, feel free to tell us all about it in the comments. 

On the voting widget: pick the languages you're considering or which you've evaluated and arrange them whether you'll adopt them (horizontal) and how much of your code will be written in these languages instead of Java (vertical). 

 

 

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Redline Smalltalk

    by Jeff Heon /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Please consider adding Redline Smalltalk 8)
    www.redline.st/

  • Only Scala attracted me

    by Serge Bureau /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    It does even much more that I could have wished

  • Please use InfoQ account!

    by Paulo Pinto /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I refuse to take place in these research questions until you allow us to use the InfoQ account.

  • Re: Please use InfoQ account!

    by Dio Synodinos /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Working on it. Thank you for your patience :)

  • Frege: Haskell for the JVM

    by Michael Bradley /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Although it's little known at this time, I believe that Frege deserves an honorable mention:

    github.com/Frege/frege

    "Frege is a non-strict, pure functional programming language in the spirit of Haskell. It enjoys a strong static type system with type inference. Higher rank types are supported, though type annotations are required for that. Frege programs are compiled to Java and run in a JVM. Existing Java Classes and Methods can be used seamlessly from Frege. The Frege programming language is named after and in honor of Gottlob Frege. While not derived from any existing Haskell implementation, it is more or less equivalent to Haskell 2010."

  • Direction of axes are going to confuse people

    by Michael Peterson /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I have a feeling you are going to get many voters who don't interpret the graph the way you have it laid out. Having "more" at the bottom of the y-axis and "less" at the top is very unintuitive. I can you tell I misvoted on this axis. I suggest a recount due to hanging chads ...

  • Not surprised at the Scala results so far

    by Vikas Hazrati /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    We have been doing production quality products at Knoldus with Scala for the past 20 months now. Have not been disappointed at all. Good to see the survey analysis supports it as well :)

  • Re: Direction of axes are going to confuse people

    by Werner Schuster /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I understand, but the direction of the X axis is so that the interesting languages are near the origin of the coordinate system.
    By having the direction of the Y axis as it its, it means that the most mature & attractive languages will be clustered in the bottom left quarter (assuming that the best replacements for Java will be used for all the code).

    In other words, the further away from the origin, the less attractive the language is as a replacement for Java.

  • add Gosu

    by carlos quintanilla /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    you should include Gosu
    gosu-lang.org/

  • Re: add Gosu

    by Ted Young /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Alas, Gosu doesn't quite meet the requirements set forth: "currently actively developed, general purpose, and suitable for enterprise or server side development." While it's somewhat active, it's not (yet) open-source, and existing Java frameworks can't always be used due to incomplete annotation support.

  • Surprised at lack of ColdFusion on here

    by James Hull /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi, it may be due to the fact that ColdFusion originated as a standalone language pre-Java but since around 2006 (if not earlier) it has been based on Java and runs in a JVM.

    There are open source options for CFML engines as well, e.g. Railo, Open BlueDragon, Smith etc and these tend to be implemented in Apache Tomcats, JRun or Jetty.

  • Java 8 definitely!

    by Johny Hubbart /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I will definitely write all my code in Java 8. I don't see the big attraction of swapping to trendy languages every year orso. In 2006 it was suddenly Ruby, then Groovy became the hype. Last year it was Scala, and this year I don't even know what the biggest most hyped language is?

    Will it be Ceylon next year? Will everybody who just started to rewrite everything in Scala, move to Ceylon?

    And about Ceylon, like Java 8 it's also not done yet.

  • Ignorance is a bliss

    by Serge Bureau /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Java has no interest, only it's libraries, and they are available through the JVM.

    To develop slowly, Java is extremely good.

  • Re: Java 8 definitely!

    by Nils Kilden-Pedersen /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I doubt it. Scala continues to gain traction and appears to be making the right trade-offs.

  • Add Redline Smalltalk ...

    by James Ladd /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Please add Redline Smalltalk as a language designed for the JVM.
    redline.st

  • Re: Add Redline Smalltalk ...

    by Kevin Driedger /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Please add Redline Smalltalk as smalltalk is still the best language for rapid development ( redline.st )

  • The surface of the points should be proportional to the number of vote

    by Gaetan Zoritchak /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    The chart is confusing.

    For example is you compare today, java8 has 631 votes and JRuby 288 votes. But when you look at the chart, it seems that jruby is a 4 times smaller than java8. Which is not true. To be fair you should correct that point.

    Cheers,

  • Re: The surface of the points should be proportional to the number of vote

    by Dio Synodinos /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Hi Gaetan and thanks for the feedback. We can't go 100% proportional because that would create unreadable entries for the corner cases (too big/small). If you're interested, plz ping me on research@infoq.com and I can share with you the exact drawing algorithm and you can send me your feedback. Cheers!

  • Re: Java 8 definitely!

    by Johny Hubbart /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    >Scala continues to gain traction and appears to be making the right trade-offs.

    Scala is so last year! Next year all the cool guys will be on XTend, or was it Kotlin, or perhaps Ceylon? Sorry, I keep losing track...

  • Confused with 'Language', better usage as 'extended language' or library.

    by Jerry Roh /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    if it's not pure java, it's more adequate to use it as 'extended' or 'plug-in' or other.

  • Mercury

    by Paul Bone /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Mercury is a logic/functional programming language (for general purpose programming) designed for use for large systems and large teams. It has multiple backends for C (two backends), JVM, and .net. These backends are not different implementations of the system (as Python Jpython etc are) but different options for the single system. See mercurylang.org

    At www.missioncriticalit.com we use Mercury (with C, Java and .net) to write server-side enterprise software. For us, Mercury provides features that assist in writing reliable software, to the extent that we offer an explicit warranty on our software.

  • Re: Ignorance is a bliss

    by Lanre Adewumi /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    With millions of Java developers around. How do we explain the no interest argument ?

  • Re: Java 8 definitely!

    by Ryan de Laplante /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    +1, totally agree. Java 8 for me too.

  • Perl6 for the JVM

    by Nikos Vaggalis /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    The Rakudo compiler has been successfully ported to the JVM and there is a big push for getting a stable release out.
    Rakudo on JVM Progress Update goes through the latest developments

  • I'm a bit disappointed to see ColdFusion (CFML) overlooked here.

    by Brad Wood /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I'm a bit disappointed to see ColdFusion (CFML) overlooked here. Even though it started as tag based and written in C++ back in 1995, it was released with a full rewrite in Java back in 2002 (Before Scala was even officially released) and has matured to a modern scripting language featuring Java interop, closures, dynamic typing, and OO patterns. It is regularly updated, open source (via Railo) and embedded in government and enterprise more than people realize. I consider CFML to be one of the first big JVM languages and just as popular as Groovy, Scala, Clojure and jRuby. (On the Tiobe index, Scala is #42, Groovy, Clojure and CFML are in the #51-#100 list, and jRuby doesn't even rank. CFML would do even better on Tiobe if they'd stop stubbornly refusing to use "ColdFusion" as a search term) CFML remains a highly useful and productive platform and it's a shame so many refuse to recognize that.

  • Java 8

    by fang jinuo /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Java 8

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.