I still prefer Java over other languages.
The Background: Javabot
I’m a fairly regular contributor to javabot, an IRC bot written for the Freenode ##java channel. I don’t know that I’d be considered a major contributor (I’m not listed in the credits, for example, so maybe I do know – and I’m not a major contributor) but I have a few solved issues to my credit…
But I think my contributions to the Javabot project are nearing an end, and the reason is really rather sad: Kotlin. Javabot recently underwent a conversion from Java to Kotlin.
Kotlin, as a language, looks really neat. It has features that I think Java could use; it’s probably a viable alternative to Java and, to some degree, Scala. I know a number of programmers who are using Kotlin, and what they describe sounds good.
But I don’t know Kotlin. I know a lot of coders, and of those, very few programmers who use Kotlin – and even though Kotlin looks neat, I can’t use it apart from cottage projects like javabot. The ecosystem around Kotlin is just too small.
That means that any contribution I had for Javabot would be severely limited by my own skill level in Kotlin – which is not experienced enough to even describe as “kotlin newbie” but is still stuck at “laughable.” Any code I wrote for javabot would be more of a burden than a benefit, since the code would have to be severely vetted.
I wouldn’t want a contribution to be a burden – any contribution of mine would be intended to make the world better, not harder. So I think that my participation in the project is limited by my own good intentions.
Prefer Java. Really.
The result, then, is that I’d suggest that coders use Java, even though it’s not as cool or as full-featured as some other languages might be. I’d be willing to consider projects in Scala, which has a viable ecosystem at this point (and has no difficulty leveraging Java’s ecosystem), and even Groovy (which leverages the Java ecosystem more than its own, as far as I can tell).
That’s not to say that Kotlin doesn’t have viability in its future, nor is it to say that I have no interest in learning Kotlin – it’s just a recognition that a new language is a burden to contributors, and because I don’t want to shoulder nor cause that burden, I’d suggest sticking with a language that’s common for the programming environment in which you live.
Addendum
I don’t blame the author for moving to Kotlin – javabot is a cottage project, really, and he actually did ask contributors their opinions before migrating. I voted for the migration. I just didn’t anticipate how I feel about it today as a result.