In teoria niente, in pratica tutto, perlomeno fino a quando ms non si dota di un dbms e un web server decenti

Ma certo che ci vuole coraggio dopo che avete avuto le lambda expressions con SOLI 5 anni di ritardo, avete quelle merde di generics implementati tramite type erasure e l'unico Garbage collector decente che avete è il CMS che è decisamente meglio di quella merda di g1 che anche con java 8 fa cagare.

Ma il problema sarebbero i database per cui per .NET esistono binding per qualsiasi DBMS esistente.

In effetti un po vi capisco..
Dopo che Oracle ha comprato java potete solo tornare a scrivere PL/SQL