2 ms·
The framing assumes teams make a clean "pick one" choice, but in my experience the reality is messier. Most enterprises I've worked with end up running both .NE
by jnbridge 7mo ago
The framing assumes teams make a clean "pick one" choice, but in my experience the reality is messier. Most enterprises I've worked with end up running both .NET and Java — not because anyone planned it, but because acquisitions, third-party dependencies, and different team preferences make it inevitable.
The more interesting question might be: how well does your architecture handle having both? Teams that go all-in on one stack often find themselves 3-5 years later integrating with a Java service they inherited through an acquisition, or needing a .NET library that doesn't have a JVM equivalent.
To actually answer the question though: C# and .NET in 2026 are genuinely excellent. The language has evolved faster than Java in many ways (records, pattern matching, LINQ). But Java 21+ has closed the gap significantly with virtual threads, sealed classes, and the continued investment in GraalVM. For a greenfield project, the honest answer is both are fine choices — your team's familiarity matters more than language features at this point.
What I wouldn't do is pick a stack purely based on cloud vendor lock-in. That's the one decision that actually limits your future options.