Is it the right time to ditch Java for another language? A response
It’s always good to keep tabs on Java User Group forum and blogposts from the community - more often than not, you’ll find an interesting debate or two emerge. Most recently, a post from Dave Fecak, the Philadelphia JUG leader brought us back to the age-old question: ‘Is Java Dead?’
But unlike others predicting the language’s demise, Fecak offers a refreshing alternative view to Java developers: ‘learn a different language’.
Whilst the title Advice From A JUG Leader – Learn A Different Language, might sound like Fecak is joining the large troop of Java naysayers, he’s actually embracing the JVM ecosystem, which is currently experiencing a boom period. In his post, he outlines his experience as Philadelphia’s JUG leader (12 years as ‘JUGmaster’ and helping it become one of the biggest in the world), revealing that his new recruiting firm isn’t just Java-centric, but searching for developers with a passion for Python, Scala, Clojure and mobile development.
If it wasn’t already clear, the polyglot revolution is in
full swing, and it’s a trend that we’ve noticed across not only
recruiting firms but also within community user groups. No longer
is it acceptable to only get by with Java: a developer has to have
many strings to his bow and embrace other (perhaps more complex)
languages and platform. Mobile in particularly is gaining attention
across the industry and it appears to be where developer footfall
I noticed that the members that sought these other topics and attended these alternative meetings were my unofficial advisory committee over the years – the members I called first to ask opinions about topics. These people were the thought leadership of the group. Many of them were early adopters of Java as well.
It was apparent that many of the better Java engineers I knew were choosing to broaden their horizons with new languages...
To some, Fecak’s post might read as an obituary for Java as we know. Far from the case, as he adds:
To be clear, the reason I make this suggestion is not because I feel Java as a language is going to die off, or that all companies will stop using Java in the near future. Java will obviously be around for many years to come, and the JVM itself will certainly continue to be a valued resource for developers. The reason I advise you to learn something else is that I strongly believe that the marketability of developers that only code in Java will diminish noticeably in the next few years, and the relevance and adoption of Java in new projects will decline.
This seems logical to us. Every developer entering the marketplace needs to have a solid grounding in Java, as well as a willingness to explore what else the JVM has in store. Community groups can be the focal point for this message. As Fecak notes, “Java has been lauded for its stability, and the price Java pays for that stability is slowed innovation”.
We can’t really argue with that - the JCP was a worthy
step to foster innovation, but the Sun/Oracle business left a
lingering hangover that only now are we seeing a truly worthwhile
process being created. This has arguably been done through
transparency and by giving user groups more prominent roles (see
the London Java Community). But to say Java has had its day might
be overstretching it - Android and JavaFX could become big parts in
stabilising Java relevance.
His blogpost is well worth reading, offering a compelling conclusion:
Java will never die. However, the relevance and influence of Java tomorrow is certainly questionable, the marketability of ‘pure’ Java developers will decline, and the market for talent in alternative languages is too strong for proactive career-minded talent to ignore.
It’s a fairly stark message, although truth runs
throughout. Java has two things going for it at the present moment.
Firstly, it still has a huge backing. Nine million developers isn’t
shabby, and although interest appears to be waning, it will be some
years yet before that number dwindles into mediocrity. The other
point is that with a new JVM language seemingly coming out every
week, not one of them looks to be building up enough interest to
usurp Java just yet. Give it time though.
What do you make of Fecak’s post - does it echo feeling across the community that Java is about to kick the bucket? That the JVM is set to knock it off its perch? Or that Fecak is merely using his experience within his JUG and applying them across the board?
Is it time to end the status quo? Let us know below.