.NET 7 introduces AOT (finally!), which allows easy interop with any language on any OS. To demonstrate the possibilities, I bring some Apache Ignite APIs to Rust.
Java has one of the best ecosystems with lots of libraries and frameworks, especially for high-perf distributed applications (see Hadoop, Kafka, Ignite, Cassandra, etc). And there are plenty of developers to hire. So it is a good choice for most backends.
As a developer I prefer C# (IMO the best general purpose language these days), but from the business perspective Java may be a better choice in some cases.
Yes, it has a lot of good libraries, and bad frameworks. The focus on code generation, distributed systems, and high complexity environments are all on the wrong side of starting something up. (One of those may be right after you are big, but then, Java isn't the best choice for any of it.)
The one large selling point of Java, that is to help you enforce a minimum level of quality on code that lots of people change, is completely meaningless for a small team starting up.
Java has a great ecosystem all around for backend applications, which happens to be as focused as it can be, i.e. there are one or two big, high quality frameworks that everyone uses, and you're good to go if you stick to either of them. Also, every single cloud vendor supports Java as a first class citizen, so you get very low friction at CI and any step beyond it.
> The one large selling point of Java, that is to help you enforce a minimum level of quality on code that lots of people change, is completely meaningless for a small team starting up.
I haven't read this before, I must say it sounds a bit myopic.
Let's say it is true. Then what's the point of starting with any other language? Either you are a hobbyist, or you need to plan for scaling up your venture; and given that your team is small in the very beginning, where are you going to get the resources to give your product a makeover or rewrite it in a different language?
Pays $100K for senior developer role which is big money in many parts of the world (India, Eastern Europe, Africa, etc), so people put up with spyware.
Source code: https://github.com/SteveSandersonMS/DotNetIsolator