Issue
I'm working in a company that has many projects in Java 8. Those projects are valued as old, and our team would like to upgrade the version. However, we need valid points in order to unlock the situation.
Those projects are using Spring and Hibernate (if it's ever useful).
What factual points could we give to our company to upgrade the versions, if any factual points there is ?
Examples of useful, valid points would be:
- Security improvements
- Performances improvements
- New libraries or framework updates which could ease the development process
- New possibilites/features with an upgraded Java Version
- ...
Possibly, backed up with documentation or links to useful resources.
Solution
- old Java version will eventually stop getting new security fixes, which will make your software more vulnerable
- using an old software stack will make it harder to find new developers willing to work on your software. Java 8 probably isn't too old for that yet, but in a few years that will be similar to finding "Java 1.4 developers" right now.
- using an old software stack can severely limit your selection of useful third-party libraries and/or tools. A given library that you really need might require a more recent Java version or (possibly even worse) a library that you already use increases it's Java version requirement with a new major release (leaving you stuck with an old Java version and an old software version that might be missing important bug fixes).
There are several advantages from switching to newer Java versions, which are probably not the main reason to switch, but could be considered additional incentives:
- newer JDK implementations might have better optimizations (in JIT and Garbage Collection mostly) that might help you get better performance from existing hardware (or reduce your cloud computing costs)
- newer Java versions tend to have support for more modern technology, like the newest TLS versions and cryptographic algorithms which can help you data more secure, if you use them correctly.
- new language features might improve your code style, which makes your developers happier, which means less churn which saves money on hiring new developers.
Answered By - Joachim Sauer
Answer Checked By - Candace Johnson (JavaFixing Volunteer)