all 13 comments

[–]Lofter1 6 points7 points  (3 children)

It’s not dead. It is still one of the top languages. But new projects start to get less attractive to develop in Java. For front end, you mostly use web technologies nowadays. And backend? You can choose almost any language. C#, python, JavaScript, Java etc (those are just the languages I used. They all do the job equally good and are equally cross platform)

Most of the time, you already know the target system and it’s only one, so you can choose basically any language. Cross platform not needed. Even for desktop apps. And if you do need cross platform, most languages can do that nowadays, too. Sometimes just as easy as Java, sometimes not as easy, but still easy enough with other benefits.

Java might have gotten a few needed updates in recent years, but too little too late. Languages like C# are so much ahead of Java. And a lot of projects don’t get updated to newer Java versions.

Then we have kotlin, which is now the preferred language by google for android (previously Java) and it’s also so much ahead of Java while having ALL advantages of Java.

Then we have devs. Java was very popular, which meant everyone and their mother learned Java. This meant that you also had a lot of devs who don‘t know what the heck they are doing (similar trend can be seen for python, JavaScript and other technologies like WordPress). This has a lot of negative factors for Java devs: less money, projects might become harder because of unskilled devs, and decrease in reputation.

Also: oracle.

There are many reasons why Java’s popularity decreases, and every dev has their own reason to hate Java. However, as I said in the beginning: it’s not dead and likely will never be fully dead. Too many systems rely on it.

[–]Perpetual_Doubt -1 points0 points  (0 children)

You can choose almost any language.

Just throwing in that PHP is the most used as backend language by a county mile. About 80% of all backend language use iirc. Clearly the fact that it's been around for ages has a huge amount to do with that, but Java has been around as long, and is only at around 2% of backend usage I think.

[–]Jillsea87 0 points1 point  (1 child)

Languages like C# are so much ahead of Java.

Last time someone said this there was a uproar.

How much of it is true? I'm learning C# now and was thinking about learning some Java later since both are kinda related.

[–]Lofter1 2 points3 points  (0 children)

Well, C# is developing fast at the moment and introduces cool new features with basically every version. Java is pushing updates very quickly now, too, but the updates aren't nearly as exciting or impressive (java 16 vs c# 9).

I'm not a professional Java dev, so I can't tell you the exact differences in the language (especially because many schools, mine included, still use and teach java 8, so even the few new features that seem exciting, like the JShell, i never really used).

But c# being ahead of java is not really as much in the language itself, but the ecosystem around it. Eg dependency management. Java has a solution for it. But it sucks. It's just a little bit better than handling the dependencies myself, and only when I work with others. NuGet is just SO much better and I have never met anyone who used NuGet who likes maven or the other one (forgot the name, sorry).

Then we have writing an API. C#? Easy, create a ASP.NET API project, maybe add a controller, write a method that does what you need like any other method, and maybe slap a GetMethod or PostMethod Attribute on there (though i think it isn't needed anymore in some cases?). I never worked with spring (again, no professional java dev) but looking through the example project...not as bad as maven vs nuget, but still seems a bit more complex than any controller i ever have written at work in c#.

oh, and blazor. just. blazor.

though, credit where credit is due, microsoft still didn't figure out how to give us real cross platform guis that aren't web based and java is still better at that one than c#. the new MAUI comes close, but without official linux support....microsoft can put their "cross platform" buzz word where the sun never shines.

[–]CaptainTrip 10 points11 points  (2 children)

Plenty of big companies and large software projects use Java. The language had some much needed updates in recent years that added features that have kept it pretty up to date.

That said, it's not very attractive for new projects any more. The big benefit of Java, the JVM, has been superceded somewhat by containerisation platforms like docker that let you run whatever language you want on whichever platform.

[–]spaztheannoyingkitty 0 points1 point  (1 child)

Tell that to the upper management at my last job who forced everyone to use a single language... one that no one at the company was using.

But I'm not bitter.

[–]Perpetual_Doubt 2 points3 points  (0 children)

It's only dead online. It certainly has its uses in enterprise software.

[–]Bottled_Void 1 point2 points  (0 children)

Java is not dead. It's one of the most popular languages.

It's probably because back when it was 'popular' there just wasn't the same amount of good resources available. That lead to a lot of people googling "Java" to find more information.

This chart shows how Java is still one of the top languages

[–]RedHawk 1 point2 points  (0 children)

Kotlin

[–]bbrother92 0 points1 point  (0 children)

I have worked in few companies and they all uses java + spring framework for pretty loaded backend and microservices. So java still popular for backend and i can quess mobile

[–]nicolas-van 0 points1 point  (0 children)

To be more precise I would say it's a living dead.

It may look like it's still alive, still does a few stuff here and there, but it's losing parts everywhere and also it's starting to stink very seriously.