Re: Alternative languages on the JVM: what's a meaningful strategy?
On 10/16/2014 8:27 AM, Saxo wrote:
some while ago I felt annoyed with Java lacking various things like
extension methods and traits that other competing languages have for
a long time (e.g., C#). So I started to have a look at other JVM
languages such as Groovy, Scala, Fantom, and now Kotlin.
Java 8 default methods will cover a good part of your need for
extension methods.
A good AOP framework will cover a good part of your need for
traits. I like AspectJ. It is not that easy, but it is quite
powerful.
I disliked Scala for various reason. It seems to have a problem with
code readibility (mostly caused by implicits). Code readabilitiy is
for me an absolute top priority in software development. Then build
times were a problem. Now it seems to be o.k., but still just
acceptable.
So I had a look at Kotlin, which I really like. Code readibility is
excellent here and so are built time and other things. Basically,
Kotlin would be it for me. But then again it made me think: Java will
always dominate on the JVM with, say, 95% or something. What you do
with Kotlin will be for sparetime fun & leisure. It will almost never
be for work.
All right, then I pick a language that is radically different which
brings me back to Scala. Actually, this is starting to drive me nuts.
Really ... What is your take on the matter? I mean not in a
subjective way, but in an objective way. To make a good decision you
kind of have to predict the future, but you can still try to be
objective with this.
Scala is a very complex language.
Whether you like it or not is a personal preference. You need
to make up your own mind.
But professionally Scala is relevant because it is actually
used out there.
A search on dice.com finds:
Java - 17863
Scala - 432
Groovy - 431
Clojure - 87
Kotlin - 0
Fantom - 0
Did you try Groovy?
Even though Java is clearly the dominant language, then knowing another
language is certainly a good thing.
Arne