DEV Community

Cover image for What JDK should we use in 2021?
Benjamin La Madrid
Benjamin La Madrid

Posted on • Edited on

What JDK should we use in 2021?

Hi all, hope you're doing well.
I've been working with Java for quite some years, and it may not come as a surprise to some, that Java is undergoing a lot of changes in its API, and approaches to most things in the recent years.
Me, I'm the (stubborn?) kind of developer that learns much more from practice than reading. And while I do dig into new repos and tech trends every so often, I did not realize the -many- new & exciting things you can do with Java today.

You see, I have been building an open-source eCommerce backend using JDK 8 for the last two years. So for example, JDK 8 introduced Streams, which I'm not yet used to, but I love the idea (I'm pretty into RxJS in the frontend).
And today we have JDK 11 already, which feature the very useful, simple, and obvious method String.isBlank() method and who knows what else. And, damn me, that isn't even the latest JDK to date... That's JDK 17, apparently?!

It made me think about how complicated things can become; having to keep up with these new APIs and giving fellow developers the need/task to document themselves to read code that otherwise may be written in a more traditional manner (in Java at least). And of course, backwards compatibility! Most Java I've had on a screen was very backwards-compatible code AFAIK (as far as I've known).

Now don't get me wrong, I like going forwards, seeing progress over time and tapping the ladder of knowledge, but I'm not sure how good of an idea is to switch to newer JDKs, and how it affects having other people (specially newcomers) delve into the code I've written. I'd rather stick to the most prominently used version so that most people can step right in and contribute.

So, lovely readers, I would appreciate any advice, suggestions, comments, on this. I'm open to new perspectives, but *what I'd really like is a good argument on why to use a newer JDK than 11, at least.* Is it safer? Is it better optimized? Is it like, just a good standard? And why?

Thanks in advance for reading this post. I'm not often a writer. Looking forward to read what you have to say 👀

Oh and if you guess what the cover image is from, you get free swag! 😎😎😎
EDIT: when I wrote this I didn't know they called it swag to stickers, badges or similar collectible items, I thought it was just synonymous to the act of recognizing other people :S my bad!

EDIT 2: https://whichjdk.com exists! Check it out, you'll find the answers you need in it.

Top comments (1)

Collapse
 
bglamadrid profile image
Benjamin La Madrid • Edited

btw if you want to know what eCommerce backend I was talking about, you can visit the github repo here.