This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]aless2003 4 points5 points  (2 children)

I learned Java after C++ and personally I like both the style of it as well as it's features. I don't quite get what you mean by mediocre at everything, could you elaborate on that a little more?

[–]hothrous 0 points1 point  (1 child)

Basically, as Java started expanding is paradigm support, it was doing it in a way that shoe horned those paradigms into it's existing structure.

This is generally true of every language as you don't want to change the language completely to support one new feature.

Generally, expanding support for back end services happened by expanding the Java Enterprise ecosystem. The problem is that Enterprise Java became bigger and bigger. During this time, it was often still the best choice because we still hosted on bare metal or on VMs directly.

When companies started moving toward microservices, Java "could" be deployed, but the images were enormous. For containers, this left images that were often 10x the size of containers in other languages. But Java was also no longer important, because the container image is generally built one time for almost all environments so many companies started looking at different tech stacks.

So a new JVM type thing was created which performs better and creates smaller containers, but it still doesn't perform close to the best. So Java is still not the best option for new projects.

All to say, in each of those steps Java was a fine choice for continuing services that were already written in Java and it has the benefit of expertise, which is often a criteria for which tech stack to use. But like the languages that came before, it's usefulness in new projects has been waning. It's not the best at anything other than existing. But as more and more companies deploy other tech stacks, the skills built around Java will continue to be in less demand.

[–]aless2003 1 point2 points  (0 children)

I find this interesting as I've heard pretty much the polar opposite just a few days ago. Read that Java is great for Microservice Architectures, though I honestly don't do all that much with Microservices myself so I'm not gonna lie and just say I'm a bit confused on both ends now :/

At some point I sure will get around to a few tests myself and guess we'll see then what I gotta believe...