Home United States USA — software The Rise and Fall of JVM Languages

The Rise and Fall of JVM Languages

256
0
SHARE

Whether you like Kotlin, Scala, Groovy, Java, or any of the JVM languages out there, here’s a brief history on them and what the forecast looks like.
Every now and then, there’s a post predicting the death of the Java language. The funny thing is that none of them writes about a date. But to be honest, they are all probably true. This is the fate of every language: to disappear into oblivion — or more precisely to be used less and less for new projects. The question is what will replace them?
Last week saw another such article on InfoQ. At least, this one told about a possible replacement, Kotlin. It got me thinking about the state of the JVM languages and trends. Note that trends have nothing to do with the technical merits and flaws of each language.
I started developing in Java, late 2001. At that time, Java was really cool. Every young developer wanted to work on so-called new technologies: either. NET or Java, as older developers were stuck on Cobol. I had studied C and C++ in school, and memory management in Java was so much easier. I was happy with Java… but not everyone was.
Groovy came into existence in 2003. I don’ t remember what time I learned about it. I just ignored it: I had no need of a scripting language then. In the context of developing enterprise-grade applications with a long lifespan with a team of many developers, static typing was a huge advantage over dynamic typing. Having product tests to check the type system was a net loss. The only time I had to create scripts, it was as a WebSphere administrator: The choice was between Python and TCL.
Scala was incepted one year later in 2004. I don’ t remember when and how I heard about it, but it was much later. But in opposition to Groovy, I decided to give it a try. The main reason was my long interest in creating « better » code – read more readable and maintainable. Scala being statically typed, it was more what I was looking for. I followed the Coursera course Principles of Functional Programming in Scala. It had three main consequences:
After Groovy and Scala came the second generation (third if you count Java as the first) of JVM languages, including:
After a casual glance at them, I became convinced they had not much traction, and were not worth investing my time.
Some years ago, I decided to teach myself basic Android to be able to understand the development context of mobile developers. Oh boy! After years of developing Java EE and Spring applications, that was a surprise — and not a pleasant one. It was like being sent backward a decade in the past. The Android API is so low level… not to even mention testing the app locally. After a quick search around, I found that Kotlin was mentioned in a lot of places and finally decided to give it a try. I fell in love immediately: with Kotlin, I could improve the existing crap API into something better, even elegant, thanks to extension functions. I dug more into the language and started using Kotlin for server-side projects as well. Then, the Spring framework announced its integration of Kotlin. And at Google I/O, Google announced its support of Kotlin on Android.
Apart from my own experience, what is the current state of those languages? I ran a quick search on Google Trends .
There are a couple of interesting things to note:
Digging a bit further may uncover interesting facts:
I’ m not great at forecasting, but here are my 2 cents:
I’ d be very much interested in your opinion, dear readers, even (especially?) if you disagree with the above. Just please be courteous and provide facts when you can to prove your points.

Continue reading...