Si bien no cuantificaría Java como mejor o peor, es el diseño de la máquina virtual lo que causa esta suposición. Java está diseñado para escalar y ejecutar aplicaciones de un solo subproceso / servidor liviano demuestra ser una exageración. No hay nada como un bloqueo global proporcionado, lo que hace que el desove de nuevas máquinas virtuales Java sea bastante costoso en comparación con otros idiomas. Lo racional detrás de Ruby y Python es que a medida que escala, puede colocar más hardware y servidores sobre su aplicación, pero en Java, un solo VM que ejecuta servidores empresariales que pueden escalar a GB de memoria. Entonces, si alguien necesita una sola página o una aplicación web de propósito general, entonces php / rails / python es una mejor opción.
Si un programa de Python, por ejemplo, comienza a requerir más recursos, python vm mejora automáticamente la memoria asignada a él, hasta el punto en que el sistema operativo permite la memoria para el proceso, que no es el caso en Java, ya que la memoria consumida por un jvm se toma por adelantado: no se produce una mejora en el tiempo de ejecución del tamaño de la memoria e incluso si la memoria existe fuera del jvm, puede ocurrir un OutOfMemoryError. Además, debido a la escritura estática, todas las bibliotecas a las que se hace referencia deben cargarse por separado en ‘espacio permanente’ en el jvm.
Al escalar / implementar sitios web de recursos pesados de ruby, no es raro encontrar componentes escritos en java o jython / jruby que aprovechan el poder de jvm.
- ¿Cuánta seguridad se proporciona en Node.js y cómo manejo las sesiones en Node.js?
- Cómo evitar que un usuario vea el mismo contenido de mi base de datos
- ¿Cómo evitar que un desarrollador web tome ideas de diseño de su sitio web y las use él mismo? ¿Son realmente tan confiables los NDA?
- ¿Qué esperas de un proveedor de alojamiento web profesional específico de WordPress?
- ¿Qué es API y cómo es útil para los desarrolladores web?