> I think Java is dying.
There are millions of enterprise programmers around the world that use it. If it is dying, then what is replacing it in the enterprise? From my perspective, I don't see any serious competition.

At the moment, I see this pattern for mega enterprise:

* C++ for scientific, mathematical, financial core libraries

* Java for heavyweight backend services that run on Linux

* DotNET for thick clients that run on Windows desktops/laptops

* NodeJS for lightweight backend services that run on Linux

* HTML/CSS/JavaScript (plus frameworkds) for lightweight web apps

* Python for data analysis and AI/ML work

Some notes:

.NET can serve the same use cases as Java, it's not just for windows programming. It's actually getting really good.

NodeJS does nothing better than anyone. The only things I can think of that make node worth using is electron and react native, maybe Next but I'd much rather do SSR in a real programming language personally. I would never use node as a pure backend, there's just no reason to and JS is an F tier language. TS brings it up to like C but it's still just not good enough to compete.

I can't see any reason to choose node for typical backend programming and such unless your devs only know JS. Any other language is probably better suited.

I agree with lots of things in your reply. In an enterprise setting where you mostly don't care about size of deployed application, then Electron is a godsend, where you can deploy a 500MB "Hello, World!" desktop app written in HTML/CSS/JS/TS in an afternoon. I know all about the bloat, but 99% of enterprise users don't care. A good web programmer can pump out very slick desktop apps incredibly quickly using Electron.

    > I can't see any reason to choose node for typical backend programming and such unless your devs only know JS.
This is the primary explanation when I see NodeJS backends in enterprise. Mostly, those projects only have medium to low skill "web devs" (sorry, I cringe when I write that term).

".NET can serve the same use cases as Java, it's not just for windows programming. It's actually getting really good."

Last time I tried NET was 15 years ago, so I have no first hand knowledge anymore, but I do read regular complaints, that cross compiling to Linux(or developing there) comes still with major hurdles at times?

Nah, DotNET is amazing these days. At the risk of starting a holy war, it is neck-and-neck with Java, and I say that as a Java fanboi. I think it is good to have healthy competition between languages (and ecosystems), like C++ and Rust (and a little bit Zig) or GCC and Clang or Java and DotNet or Python and Ruby or NodeJS and Deno. Plenty of people are compiling and deploying to Linux after DotNetCore went open source. Plus, you can use JetBrains Rider, which is a cross-platform IDE for C#, from the makers of IntelliJ.

.NET is amazing and keeps getting better. JetBrains is killing it with their IDEs and add-ons.

Currently running nearly a dozen different services written in .NET running on Alpine in K8S.

Started transitioning most of my code to .NET Core/Standard when they first came out. Sadly, I still have to deal with some ASP.NET MVC code that was written before and requires .NET Framework