Honestly the sooner you can get off of Java the happier I think you'll be. Oracle has shown time and time again that they only care about making money off of Java and its trademarks and the community-be-damned.
@craigmaloney The JVM has its warts, but the ecosystem of code, tools, and community around it are nothing short of amazing. At least that's been my experience. I'm currently making my living coding in Kotlin for Android, and JVM bytecode is the lingua franca at the center that makes it all possible.
Perhaps we could rebrand it as "The worlds most popular intermediate code format".
@rafial @infernalturtle Kotlin, Scala, and Clojure seem to be where the real growth is happening in Java, but I'd submit that all but Kotlin could have found life outside of the JVM and the only reason that Kotlin is really a thing is because of mobile.
That said I've not paid attention to the community around Java in quite some time.
@craigmaloney I'll argue that the reason JVM as platform has been the source of new languages is that it allows the fledglings to tap into both enormous collections of libraries for getting things done, and a rich community of folks who are used to adopting tools and techniques that aren't the ones being promulgated by the platform vendor. Scala had a .Net compiler and runtime for quite awhile, but it was abandoned as all the traction was on the JVM
@rafial @infernalturtle Honestly I think Scala and Groovy are the best thing that happened to the JVM, but only because they showed it was possible to use the JVM for something other than Java and not have it be a half-baked port of another language. They showed the potential.
This hasn't changed my opinions on the JVM much but it does make me feel for the community that Oracle is a terrible steward of the gift they've been given for having a decent community using their products.
@craigmaloney Kotlin was explicitly designed to marry the pragmatism and focus on language interop of Groovy with some of the rigor and lack of compromise on performance of Scala. Without the existing language communities it sought to leverage, it would have had no reason to exist.
They are now trying to bring the language to other runtimes (JS and native) but I'll be really surprised if those ever become more than a novelty.
@craigmaloney Kotlin did catch a wave with respect to Android, by essentially beating Java 8 to the platform, thus having first mover advantage there in delivering modern language features. And arguably doing a better job of it, but without that window of opportunity it would have had a hard time against the Java "brand" advantage.