Looking ahead in 2015: JVM Programming Languages
© Africa Studio - Fotolia.com

Looking ahead in 2015: JVM Programming Languages

[Update] A new version of this post for 2016 can be found here.

In this article I take a look ahead at the future of four programming languages in 2015; Java, Scala, Clojure and Groovy. All four of these languages are designed to run on the Java Virtual Machine, which is supported on practically every computer operating system. Most recently, JVM programming languages have become popular choices for building cloud applications.

Java (https://www.java.com)

Last year was a huge year for Java with the release of version 8. In 2015, there will not be a major release of Java, however I expect continued adoption of functional programming inside of Java. In 2015 this adoption will continue through language options and libraries that incorporate a more functional approach. Some examples of these options are: lambda expressions and Ben Christensen's excellent RxJava project. This shift towards functional programming in Java will continue in 2015 and will also continue to breathe new life into Java as a modern language.

Clojure is an ideal fit for data science projects because it has a fully functional approach, and has already been proven it to scale across big data.

Scala (http://www.scala-lang.org)

Since it's inception in 2001, Scala has been a fascinating language to follow. Last year was a busy year with a major version release of Scala, version 2.11. This version defined Scala as a mature, full featured language. I have found it to be very robust, and have been using it successfully on a daily basis. However, the road ahead is a bit foggy. Last September, Martin Odersky gave an interview with InfoWorld talking about a 'fundamental rethink' of the language. Adding to the murky future, the Scala roadmap doesn't have another full release planned for 2015. This makes it difficult to tell what the future holds. One thing is for sure, it has my attention and I'll continue to watch Scala development closely through 2015. Professionally, however, I'll be sticking with the current, stable version.

Clojure (http://clojure.org)

The reason I'm particularly excited about Clojure is that it aligns very well with the growing need for tools that support 'data science'. Clojure is an ideal fit for data science projects because it has a fully functional approach, and has already been proven it to scale across big data. An example of this fit can be seen in the Apache Storm project. Also, the primary barrier to Clojure's wider adoption has been the lack of modern IDE integration. I expect this to change in 2015 with the release of Cursive, a plugin to the already popular IntelliJ platform. Another reason to get excited about Clojure in 2015 is that unlike Scala and Java, who plan to take the year off from having a major release, the Clojure team have plans to deliver a 1.7 version release early in the year. Closure will definitely make for an exciting option for JVM programming in 2015.

I expect the trend towards functional programming to continue in 2015 for all four of these languages

Groovy (http://groovy.codehaus.org/)

And then there is Groovy. Even with a major release planned in 2015, I find it difficult to get very excited about Groovy. The majority of the effort for the next version of Groovy has been put towards an internal 'retooling'. Groovy does have plans to go more functional via a new feature called: 'Meta Object Protocol'. But I don't see much adoption of this feature outside of die-hard fans. In my opinion, even with a new feature, 2015 will not an exciting year for Groovy. Groovy will remain a versatile, reliable language that extends traditional Java and delivers much of what it needed for most daily production tasks. This means that Groovy still fills a very important niche. It may not be my recommendation for that shiny new data science project...however it will continue to be my recommendation when moving away from old JSP/Struts types of applications. Having a major release in 2015 will show that Groovy is not going away anytime soon, and expect to see the Groovy team to continue to deliver a reliable project.

Final thoughts

I expect the trend towards functional programming to continue in 2015 for all four of these languages. Additionally, I believe 2015 will to be an exciting year for development in the data science arena. This means that Clojure will be be the language to watch, especially due to the fact that it has a new version coming and new productivity tools becoming available for it.

Copyright (c) Matthew Jackowski, 2014. Photo: © Africa Studio - Fotolia.com.

Matthew Jackowski is a software development manager at Nitro. Originally from Chicago and graduating from the University of Illinois at Urbana-Champaign with a degree in engineering and computer science, Matthew now lives in San Francisco. He has been a software engineer for almost two decades and often can be found wherever hacking together great new ideas is happening.

Matthew Jackowski, thank you for putting your JVM programming thoughts together so succinctly!

To view or add a comment, sign in

More articles by Matthew Jackowski

Others also viewed

Explore content categories