Is Java 17 worth it?

Your thoughts?

|

Java 17 is definitely worth it, however most developers wouldn't even notice they are using it over something like 11 or 8.

This is because most of the improvements are internalized...for instance...

  • New macOS rendering pipeline
  • macOS/AArch64 Port
  • Deprecating things no one cares about (Applet API)

Additionally, the features that you would utilize/notice from a developer standpoint are rather obscure things that most day to day developers won't mess with like...

  • Deserialization filters (most are using Jackson lib or some other lib where this is abstracted away)
  • Pseudo-Random number generators
  • Strict floating-point semantics

These features are improvements but specialized use cases where most developers won't be using etc.

|

"Worth it" is a funny way to ask this question...

I would say using the latest stable version of any programming language is usually "worth it" in the sense that the newest features being released wouldn't be included if the developers behind the language didn't think they were "worth it".

But "worth it" is also a highly relative term. From a pure development standpoint, it may be hard to see the true "worth" of the improvements made in something like Java 17. Most Java developers would say that using Java 8 is "worth it" because of all the development features it introduced to the Java dev community (lambdas, streams, etc). Since most examples you find online today are utilizing these popular features, it is arguably "necessary" to be using Java 8.

However, keeping this same developer hat on it may not be "worth it" to use Java 17 if you are already using Java 8 or 11 in production with no real issues.

If you are emphasizing security then using Java 17 is definitely "worth it" because of things like deserialization filters and internalized APIs.

If you are emphasizing performance then using Java 17 is "worth it" in terms of having access to foreign function and memory API, internal improvements to garbage collector etc...

|

Is having the latest version of Java with long term support running in production? No. Use Java 8 and no one will be able to tell the difference :)

|

not worth it. wait for 21 (2023)

|

absolutely not. still using java 8 in 2022....

|

Java 17 is the latest version of Java that features long term support. This means the Java community has your back with this release. This means you should go ahead and be using in production...

|

It's worth it if security team is mandating it. Otherwise just use 11 and call it a day.