Abstract: Is the Java Ecosystem still safe and robust or should we move to a different language? Maybe Go or Python? In this newsletter we look at whether Java is still a solid choice.
Welcome to the 260th edition of The Java(tm) Specialists' Newsletter, sent from the beautiful Island of Crete. In August, I tweeted this challenge: "Free copy of my Java Patterns Course if you complete a daily mile run outside each day over the next 40 days. Must be GPS tracked and on Endomondo. Starting 10th August and finishing 18th September." Over 80 Java enthusiasts from 27 countries signed up. I told my son that I did not expect more than 5 to finish. But no, I underestimated the determination and stamina of my contemporaries. Over half are still in the contest. Collectively we have burned over 500 million calories (with a small "c") in the past 40 days. Some have done their first ever 5km run. And yes, I created a private side contest for those with disabilities who were willing, but physically unable, to run. Laziness or a mild aversion to exercise did not count. I'm looking forward to giving away over $20000 in course vouchers this week to those who have endured.
javaspecialists.teachable.com: Please visit our new self-study course catalog to see how you can upskill your Java knowledge.
Is it time to move to Go or Python, now that Java is no longer $free nor free? When I was a little boy, our dad built an incredible platform high up on an old tree that had died. 42 years later, I can still smell the ropes that we used to bounce up and down that huge stump. By the time I went to kindergarden at age four, I could clamber up the nursery school's fig tree like a little monkey, much to the consternation of my teachers. As the years went by, my parents grew increasingly concerned about the robustness of the tree stump. Was it still stable enough for three little boys to play on with their friends? What if it fell over? After many days of FUD, they had it cut down. They then discovered that the wood was solid and would not have fallen over for decades. Our best toy ever became firewood due to a fear based on incorrect information. This is how I feel about companies who are so scared of Java falling over and hurting them that they make drastic decisions to move all their development over to something else, anything at all, when Java could have solidly served their purposes for the next few decades.
With the advent of Java 9, Oracle announced a shorter release cycle and changes in their support for non-commercial customers. Since then, my customers keep asking: Can we still use Java commercially? And do we have to upgrade to each new version? Should we rather change to something else? Can we ever trust Oracle again?
Despite the usual FUD, not that much has changed in comparison to what we had before, except that the version numbers are 9, 10, 11 instead of 1.6.0_11, 1.6.0_24, 1.6.0_44. Granted, new features can be added with the major versions, but in the past the subtle behavioural differences between minor releases were even harder to track.
Early adopters can continue upgrading their versions every six months. The conservatives can buy support from their favourite JVM vendor to stay on Java 7. Only challenge they have is finding programmers born this side of the millenia.
One of the challenges I face is that students want to be taught on the latest shiny technology, even when it does not make sense. For example, I recorded a spiffy course called "Data Structures in Java 9" towards the end of 2017. A few months later, Java 10 was released. Students stopped buying. I solved the problem by removing the version number from my course title :-) There is anyway no difference between Java 9 and 10 java.util collections. Grab a 50% discount on this very fine course, valid for the next 24 hours after clicking.
Back to the FUD surrounding the future of Java. Our Java Champion Community worked together with various JDK providers to assemble a comprehensive document that outlines the changes and choices we have going forward: "Java Is Still Free". We owe it to ourselves and our colleagues to read it carefully. There is a short summary section, but we probably should read the full version. I won't hyperbolize and say that "your life depends on it", because it most likely doesn't. But your comfort might :-)
I think it is a good idea to look at other ecosystems and see what we can learn from them. Perhaps even do some of our development with other languages. However, the infrastructure and the quantity of free and $free code in Java is huge and solid. No need to move, unless we desire to.
Kind regards
Heinz
We are always happy to receive comments from our readers. Feel free to send me a comment via email or discuss the newsletter in our JavaSpecialists Slack Channel (Get an invite here)
We deliver relevant courses, by top Java developers to produce more resourceful and efficient programmers within their organisations.