Java In 2019 And Beyond

Lemuel Ogbunude on December 25, 2018

What comes to your mind when you hear the word Java? For some people, they remember a very verbose programming language taught to them in their... [Read Full]
markdown guide

What Oracle is saying is that OpenJDK would be supported for at least 6 months period after a release. Enterprises are more conservative and would want longer support so would get paid support from Oracle for longer periods.

Like I said OracleJDK and OpenJDK are functionally interchangeable.

But let's say you hate Oracle and do not want to use their JDK, no problem, you have other providers of production-ready OpenJDK,

For example, Amazon Corretto comes with long-term support that will include performance enhancements and security fixes. Amazon runs Corretto internally on thousands of production services.

You have other providers like AdoptOpenJDK.

Also, I agree with you that Java was is big on Android but if we look back, Java(1995) was around way before Android came (2008), Java was a top language way before Android came.

Java is used in many other areas apart from Android.

Java is currently used heavily in Big data, Artificial intelligence, IOT, backend development and critical systems.

I still say Oracle has work to do though, and they are working, like you said, MS and Apple are doing quite well.

I have looked at Swift and it's a lovely language.

That says that Oracle isn’t going to support older Java versions, only working on the current and next versions. Which means other companies have to pick up backporting of fixes where needed. Something which has been going on for years already. (As the linked article also mentions wrt to Java 6 and 7)


Thanks for this write-up. I am one of those people that hates Java after using more modern languages, but I was on the lookout for Java’s new features. I had really liked the changes in 8 and 9, but it still felt like it wasn’t there yet and I didn’t bother checking out the later updates. I may give it another go with all these new features.


Yeah, Java was lacking a lot of features that modern languages gave.

Java is improving and we are seeing a lot of changes.

It wouldn't hurt giving it another try.


Nicely said! I, too, think Java is seeing a revival thanks in large part to Spring and later Kotlin. JDK 11+ is getting even more exciting (as exciting as Enterprise App Dev gets).

And this is coming from a dynamic language traditionalist who grew up on PHP and ASP ;)


Ah, but I'm talking the original ASP - Classic ASP - before the modern .NET version.


IntStream.rangeClosed(1, 10)
.filter(i -> i % 2 == 0)


Yes, thank you Armin. I should have mentioned I used a static import of IntStream, that's why I didn't use "IntStream'.


It's not about the static import (which is fine), it's the unnecessary creation of an intermediate collection.

Oh lol, my initial desire was to answer the "Lecturer's question" and create a list first, so the code was initially different.

It initially created a list, assigned it to a variable and then worked on it, but when I shortened the code I didn't bother on (I might have felt lazy :/) to remove the creation of an intermediate collection.

Thanks for the advice though.


Spring is keeping Java alive despite great competition from Go and Rust in the server-side. Android, of course, keeps the JVM alive with Kotlin. I personally like Java's verbose style and I'd say a lot of the hate comes from people who aren't too familiar with Java's idioms. My only real criticism is the amount of memory that the JVM requires to run medium to large applications but this has been improving bit by bit.


Yeah, Java is big on Spring.

And yes, a lot of hate for Java comes from people who aren't too familiar with the 'Java looks'. For example, someone coming from a C++ background might not have as many issues with Java as someone coming from a strictly Javascript background.

But as programmers, it's always good to explore other languages than the ones we are comfortable with, it helps us see things in different ways.


What do you mean Oracle is not supporting OpenJDK ? They are still actively contributing to it, and it is the reference Java implementation. GraalVM also depends on OpenJDK.
And besides Oracle there are other big companies who also back OpenJDK.


This lines like this...

 ArrayList<Integer> myList = new ArrayList<Integer>(); 

...are not totally true in "old java", the declaration of the generic object should use the generic args, but... not the instantiation. Should be like this:

ArrayList<Integer> myList = new ArrayList<>();
code of conduct - report abuse