Nie ma dobrej odpowiedzi na to pytanie. Jak zapytasz programistę javy to odpowie, że java. Jak zapytasz programistę C# to odpowie, że C# itd. Ale można podejść z innej strony do tego pytania. Jeśli chcesz w przyszłości utrzymywać się z programowania to wybierz język, który jest dobrze płatny, bo o ile na początku kariery różnice są niewielkie to za kilka lat jak już będziesz seniorem to te kilka dodatkowych tysięcy w kieszeni ma znaczenie!
Co do języka to wybrałbym język kompilowany (a nie skryptowy) np, Java, C#, Scala (C++ jakbyś chciał pisać gry) ponieważ te języki dają bardzo duże możliwości w porównaniu do skryptowych (Php, Pythonm Ruby).
Jeśli masz już jakieś doświadczenie z C# i nie przeszkadza ci praca z technologiami związanymi z Microsoftem to czemu nie. A wydaje mi się, że ASP.NET to trochę przestarzała i mało wydajna technologia. Poza tym sam C# to tak naprawdę klon Javy.
Z kolei Java jest dość dynamicznie rozwijającym się językiem. Z bardzo liczną opensource'ową społecznością - można znaleźć biblioteki do wszystkiego. A Spring Framework jest jednym z lepszych i prostszych z jakimi pracowałem. Poza tym Java bazuje na JVM (Java Virtual Machine), która jest platformą dla wielu języków: Scala, Groovy, Kotlin itp. - dzięki czemu przesiadka na inny język jest stosunkowo prosta...
PS. Oczywiście mój wpis nie jest obiektywny bo jestem javowcem, ale mam nadzieję, że chociaż trochę ci rozjaśniłem temat :)