Есть одно важное различие между Java и .Net — различие в свободе выбора инфраструктуры:
1. Java — сводода. Как говорили выше, открытый стек технологий: выбирай подходящую IDE, выбирай подходящую библиотеку и вперед. Свобода на 360 градусов. Огромное количество крупномасштабных проектов уже на Java. Google, Yandex, банковское ПО — Java.
2. .Net — ущемленность. Путь, который диктует Microsoft. Он управляет тем, в какой IDE ты будешь писать, с какой библиотекой ты будешь работать и т.д…
Выбирай Java!