Por qué las empresas de software siguen utilizando Java, cuando hay mejores lenguajes de programación como C# y .NET con un gran soporte de herramientas?

Porque la plataforma .NET no es tan buena como crees:

  • Ahora mismo están empezando a probar las capacidades multiplataforma, mientras que la JVM lo hizo durante 20 años.
  • Microsoft centrado, casi sin movimiento Open Source o drivers de ecosistema
  • … lo que lleva a no tener opciones: Herramientas sólo Visual Studio, tecnologías sólo ASP, WPF, WCF, Xamarin, etc. eso es todo de Microsoft y ningún contendiente en el horizonte. O tienes que comprar bibliotecas. El problema también es, que se formó la comunidad too.
  • Para todo lo que usted quiere o necesita hacer, hay uno o, a menudo más de una biblioteca para hacerlo en Java.
  • Visual Studio no es tan grande en comparación con IntelliJ y en parte incluso Eclipse (depuración, oh cmon)
  • SharePoint, dijo lo suficiente
  • Can’t realmente decir, porque I’nunca he trabajado con él, pero de la gente que he oído de ASP es dolor para trabajar. De todos modos la tendencia es hacia el lado del cliente.
  • Android es nativamente Java. iOS es nativamente Objective-C / Swift. Si quieres cross-mobile, hay muchos frameworks más establecidos que Xamarin. Nadie hace UWP. Microsoft abandonó su sistema de telefonía.
  • Lo que nos lleva al siguiente punto: Microsoft tiene un historial de abandono de tecnologías, muchos desarrolladores se quemaron los dedos y se destruyeron sus carreras de la noche a la mañana por algún anuncio repentino. Dicen «Nunca más».
  • Nada comparable en el espacio de big-data / clustered computing.
  • La JVM está muy por delante en cuanto a rendimiento y herramientas. La gente sabe cómo ajustarla para su caso de uso.
  • Diversidad de lenguajes (con una base de usuarios). VB, IronPython y F# vs. Scala, Clojure, Kotlin, Groovy, Ceylon, JRuby, Jython, Nashorn,…

Es una pena porque C# es un lenguaje muy bonito.

Otras razones:

  • Muchas empresas ya tienen grandes sistemas Java. A complete rewrite is costly.
  • Universities rarely teach C# as a mandatory course.