¿Qué marcos de terceros son los principales impulsores (y sus razones) para el dominio y el éxito de la Plataforma Java?

No creo que el éxito de Java se pueda atribuir a ningún marco en particular, creo que se trata de que Java solo proporcione todo .

Creo que Java es en gran parte por sí mismo si quieres:

  1. Un buen lenguaje OOP estáticamente tipado.
  2. Un tiempo de ejecución confiable, rápido y multiproceso.
  3. Un entorno totalmente gestionado.
  4. Una biblioteca para casi todo.

Creo que si quieres esas 4 cosas, ¿qué más hay en realidad? Hace unos años, habría dicho C # y .NET, pero tan bueno como es, mi experiencia esta semana es que realmente no es tan “administrado” como pensaba. En Java, un bloqueo significa un buen seguimiento de la pila y una visita guiada del problema. En C # y .NET a menudo es lo mismo, pero a veces también obtendrá:

Error: DEP0001: Error inesperado: Excepción de HRESULT: 0x8103010D

O algo así, sin rastro de pila, nada.

He estado escribiendo más C # en las últimas semanas que Java, y veo cada vez más que Java es un verdadero entorno administrado, y .NET no lo es.

.NET y C # son geniales, realmente geniales, pero no ofrecen la misma experiencia que Java y JVM.

Entonces, para mí, las razones del éxito de Java es que apenas tiene un competidor, el más cercano es C # /. NET, pero incluso eso no puede ofrecer la experiencia completa de Java al proporcionar un tiempo de ejecución administrado, lo que creo que es realmente importante para una gran cantidad de software para grandes empresas.

Las ofertas como Python, Ruby, JavaScript, etc. a veces pueden ofrecer algunos de los 4 puntos que enumeré anteriormente, pero no se me ocurre nada que realmente pueda tocar Java para la programación de “grandes empresas”, donde tienes grandes equipos de talentos mixtos, trabajando en grandes proyectos.

Eso sería Primavera, Hibernate y Junit. Con menciones especiales a Tomcat, Jetty y JBoss.

Los primeros tres fueron lo correcto en el momento adecuado. Spring ayudó con la inyección de dependencia a medida que se convirtió en la corriente principal.

Hibernate colmó la brecha entre Java, objetos y SQL.

JUnit hizo que las pruebas unitarias de escritura fueran fáciles, justo cuando se puso de moda.

Pero la razón del dominio no es ninguna de las anteriores.

Es simplemente que Java tenía un compilador gratuito con un tiempo de ejecución multiplataforma gratuito. Esto significaba que cualquiera podía escribir una biblioteca de código abierto y liberarla legalmente.

Java era, y es, un buen lenguaje que significaba que se eliminaron todas las barreras para la adopción.

Esto fue por diseño.

Sun Microsystems quería vender hardware. Todas estas cosas gratis les permitieron hacer una ‘venta cruzada paga’. Inteligente.