La principal ventaja de utilizar Java es la base instalada más amplia. Si usa Java, llegará a una cantidad de teléfonos mayor que si usa .NET.
Por lo que sé, .NET funciona exclusivamente con teléfonos Windows Mobile.
Por otro lado, Mobile .NET es más fácil que Java (IMHO), y eso se debe en parte a Visual Studio IDE que hace la vida mucho más simple que cualquier otro entorno de desarrollo en Java World. Por ejemplo, hacer aplicaciones basadas en formularios en .NET móvil es muy simple y directo.
Por lo tanto, la respuesta será, básicamente, depende de lo que está tratando de lograr:
- intentar alcanzar al mayor número de dispositivos móviles: ir con Java
- tratando de desarrollar una aplicación para Windows Mobile dispositivos: vaya con .NET
- Tratando de desarrollar una aplicación que se ejecutará solo en un entorno controlado (Una sola empresa) donde puede decidir en qué dispositivos se ejecutará: decidir qué dispositivo va a utilizar y luego elegir entorno de desarrollo.
Tenga en cuenta que si se trata de Java para Android o Blackberry Development, se enfrentará al mismo problema de no llegar a una gran base instalada que con .NET. Si desea la gran base instalada, vaya con Java Mobile Edition.
+1 por buena respuesta. Aunque su punto de Visual Studio no me convence: creo que la elección de IDE es principalmente una cuestión de a lo que estás acostumbrado ... Prefiero usar Eclipse que VS, por ejemplo. – mikera