10 Myths About Java in 2019

10 Myths About Java in 2019

There are many myths about Java in the programming world. Read about 10 myths of the Java ecosystem and whether or not they’re true.

Diego Camacho

great facts, really enjoyed the answers to the myths.


Great story.

Some points I would add.
- (MY OPINION) Static typing is great. Dynamic languages suck for anything other than scripts that are written once and never updated or refactored. Yes browsers should make TypeScript mandatory and deprecate JavaScript.

- Java has many syntax rules, old variants don’t get removed. Over the years, a lot has been added to Java, but rarely ever things have been removed. For example you can still have collections without generics, it’s just not smart to do so.

- Not everybody is on the latest version. Android is usually two years behind the latest version. Python has this problem too. JavaScript has the polyfils etc. Only Swift scores well on this.

- The module system (yet another thing to learn beside maven/gradle) is still unusable in the real world. Too many libraries have no module-info.java files and thus will give lots of problems. I hope this will change fast, but as of right now both Java libraries to access AWS or Google Cloud services give all kinds of problems with modules. If Google and Amazon are slow to update their libraries to work well with the latest Java versions, then how can we blame developers for not migrating.

Thomas Prosser

To my mind, licensing is an issue. Even as a developer, I do no longer know whether or not I step on the feet of Oracle’s lawyers when I publish software written in it, although I’d mostly use Spring and OpenJDK (whick lags behind the official SDK - also security-wise…). It is pretty obvious that Oracle tries to squeeze out every dime they can to keep up share prices. Not something I want to support, so when 2019 arrived, I left Java for good (and Scala, and Groovy, and any other JDK language). There are options and I feel they will become more popular in the next few years.