The reports of my death have been greatly exaggerated
In a recent survey of more than 3000 coding tests that businesses are running, the over-riding languages preferred by businesses as a whole are the un-shakables at the top end: Java, enabled in 100% of those tested, alongside Python, C, C++, Ruby and C#. And whilst developers may yearn for those ranked “most loved” in Stack Overflow’s 2016 developer survey including Rust, Swift , Scala and F#, businesses aren’t apparently feeling the love quite as much for the new kids on the block.
There is a bit of curve-ball in this programming language landscape in the shape of Python. It seems to not only be popular but also growing fast with businesses and developers alike. Its rating shot up up by 62.5% in the 2016 Stack Overflow survey, it ranked 2nd to Java as most enabled in the recent business code tests survey (as above) and the finance world is in true courting mode with it. What with the proliferation of Big Data and Python’s seemingly rich set of finance open libraries, those in finance can’t get enough of Python and its cohorts.
So with businesses still loving it and developers sort of in the middle of the road with it, where does that leave the future of good old Java?
and now for something completely different.
Let’s set the scene with somewhat seismic Java events starting with the case of Oracle v Google. Java was originally developed at Sun Microsystems in 1991, Google purchased Android in 2005. Google then released a beta of the Android platform in 2007 stating it would use some Java technologies. Oracle purchased Sun in 2010 and continued to develop Java. Both Google and Oracle flirted with each other around possible licensing deals but no agreement was reached by either party, ever. Oracle sued Google for copyright and patent infringement in August 2010:
• Round 1 to Google – in 2012 the jury found that Google had not infringed on Oracle’s patents.
• Round 2 to Oracle - in 2014 the Federal Circuit partially reversed the district court ruling, ruling in Oracle's favour on the copyrightability issue, and passing the issue of fair use to the district court who ruled in favour of Oracle’s copyrightability issue.
• Round 3 to Google – this year we saw the battle in court once more it took the jurors 2 weeks to decide that Google did not infringe Oracle copyright and that it was deemed ‘fair use.’
Developers at large breathed a sigh of relief, it has long since been believed that APIs are free to use which the tech titans case highlighted beautifully, APIs can in fact be protected by copyright (all be it those defending the copyright in this instance didn’t win out). It is, of course, a tricky one – how do you police the reuse of API packages in terms of copyright and patent infringement? Each Android friendly phone manufacturer such as Samsung, for example, would surely be in this camp as they make copies of Android software to run on their phones?
Some say it was Oracle’s attempt to get a chunk of Android and some say if Oracle had won, the 1.4 billion people who own Android phones world-wide could have been held liable each time they switched their Android phone on. Last time we heard about this, Oracle vowed to appeal….
And as if that wasn’t all bad enough, there’s been a lot of talking and twitter ranting around Java Enterprise Edition (EE), it’s been plagued by stops and starts since version 1.0, the London Java Community is concerned and now there are even Java EE Guardians.
“There is one big danger to Java EE right now. It is the fact people are complaining. If we don’t stop this, it might all become a self-fulfilling prophecy.” Roy van Rijn, Coder and Blogger.
The fact of the matter is that Oracle is rumoured to have pulled funding and development away from the development of Java EE and a lot of people are unhappy about this, mainly those within the Java community, comprised of companies and developers who have contributed to the Java platform including some of Oracle’s biggest customers. Oracle’s response to the Java community at large suggests that they have “big plans for the next version of the Java EE specification – Java EE 8.”
the meaning of life.
Last year marked the 20 year anniversary of Java, its history may be somewhat chequered, yet it is still surviving and thriving. Some say that the demise of Java with enterprise applications has been talked about for years, that it’s “antiquated web tech that’s not hugely secure with limited support”.
Whilst others say the future is being written in Java as it has successfully evolved to stay current. It consistently tops polls in usage and skills as it fights off challengers, even heavy-weights such as Go and Swift, and equally ‘old school’ languages with their own evolutionary stories.
Java is among the fastest languages and can scale to programs that can process vast resources, as the Big Data revolution sufficiently demonstrated where Java is proving handy, as it is for IoT. Java has evolved into a tool that can address almost every kind of programming problem and with Java 8, additional features make it even more compelling a language.
Lest we forget that ultimately Java is one of the rare languages that has benefited from two decades of large-scale investment. Who said evolve or die?