Hai una visione molto limitata dell'utilizzo di java.
Non conosco il mondo ‘gestionale'
MA
Java e' usato pesantemente ed estensivamente nel mondo BigData (GROSSI sistemi con centinaia o migliaia di nodi di calcolo, robba per macinare TERABYTE o PETABYTE di dati) , i migliori IDE per lo sviluppo sono scritti in Java, la maggior parte dei DBMS NOSQL (robba per memorizzare TERABYTE o PETABYTE di dati) sono scritti in Java, giusto per citarne alcuni.
Android E' Java, Apple usa Swift e non esistono piattaforme mobili in. NET nativo ma e' solo un layer SOPRA le piattaforme native che non puo' sostituire completamente (questo per dire che mettersi a programmare in C# per Android SEMBRA una genialata, ma no lo e' per nulla, perche' COMUNQUE devi conoscere Android o le altre piattaforme).
Ma esistono anche altri utilizzi su hardware differenti. Le smart TV ad esempio, o i Set Top Box.
Sbagliato anche il ragionamento sugli investimenti relativi alla piattaforma che non hanno nulla da invidiare, anzi sono forse anche migliori, di quelli fatti in ambito. NET.
Ricorda che C# e' nato perché Sun non aveva permesso a Microsoft di modificare Java a piacimento. A parte questo, i due ambienti sono nati piu' o meno negli stessi anni (Java: 1995, C#: 2000) e sono equivalenti, anzi forse Java e' meglio di. NET perche' nativamente nato per essere multipiattaforma mentre. NET lo e' diventato successivamente per necessità.
In certi ambiti è per certi aspetti tecnici, Java e' nettamente superiore a C#.
Vedasi il fatto, ad esempio, che non mi risulta esistano DBMS scritti in C#/.NET mentre di DBMS scritti in Java ne trovi a camionate.
Oppure OSGI, di cui MEF e' la versione. NET ma assolutamente miserrima rispetto alle potenzialità offerte da OSGI.
Oppure il concetto di classloader, inesistente in. NET ma FONDAMENTALE per implementare sistemi complessi.
Attualmente Java ed il suo ecosistema e' l'unico ambiente che ti assicura una compatibilità al 99.9% su Windows, Mac e tutte le distribuzioni Linux. E' stra-ottimizzato, stra-efficiente e ci sono varianti specifiche per GROSSI sistemi.
Non e' solo questione 'Java e' nato PRIMA di C#' perche dopo 20+ anni , la differenza dell'anno di nascita e' trascurabile.
Insomma,… diciamo che bisognerebbe informarsi un po' meglio. ;-)