Как человек, который 1.5 года учился java, а потом вышел работать с C# - точно могу сказать, разница несущественна. Специалисту всё равно какой инструмент он использует. Хотите наиболее производительное мобильное приложение - используете java, хотите desktop windows, вэб бэкенд, игры - C# (имхо). ML - python. Микроконтроллеры - C (C++). Хотите делать качественное ПО для всего вышеперечисленного, тогда я вам огорчу, серебряной пули нет придется использовать разные инструменты, но с опытом, вы поймёте, что различия весьма преувеличены.