Leí este artículo porque he trabajado muchas veces en Java y en PHP y deseaba confrontar si mi opinión al respecto coincidía con el artículo.
En general, salvo alguna apreciación sobre el rendimiento, donde se ha valorado un excelente rendimiento a PHP, con todo me sentía totalmente identificado.
No tengo que olvidar que llevo unos cuantos años «alejado» de Java y por ocio, «cerca» de PHP. También, no se me olvida que el artículo es de una autor que trabaja en Zend (mantenedora de la actualizaciones de PHP), por lo que seguro está un poco sesgado.
Es corto, directo e interesante.
Traducción un apartado del artículo:
PHP vs. Java: diferencias clave
Existen varias diferencias importantes al comparar PHP con Java. Son tan importantes que me pregunto si existe una comparación justa: si bien ambas son herramientas muy poderosas, es algo así como comparar un taladro eléctrico con una sierra de mesa. Aún así, ambos ofrecen excelentes resultados para aplicaciones web modernas y los desarrolladores a menudo se encuentran atrapados entre los dos lenguajes.
Variables
Comencemos nuestra comparación entre PHP y Java abordando el elemento PHP de definición de las variables.
Java requiere que todas las variables estén estrictamente tipificadas. Si bien PHP se está moviendo en esta dirección, sigue siendo un lenguaje muy indulgente con respecto a la escritura dinámica de datos. Como resultado, a muchos desarrolladores de Java les resulta un desafío navegar por la escritura dinámica de PHP. Además, a estos desarrolladores les encanta burlarse del “$” que se utiliza para identificar variables en PHP. Habiendo desarrollado en ambos idiomas, encuentro que el signo de dólar es una característica muy conveniente al escanear el código. Como supuso Guido Von Rossum hace algún tiempo, ‘el código se lee con mucha más frecuencia de lo que se escribe‘.
Rendimiento de PHP frente a Java
Al comparar PHP con Java, siempre se debe tener en cuenta el rendimiento. Java se compila mientras PHP se interpreta… algo así como Java se compila en código de bytes, que luego es interpretado por la JVM. Esta abstracción le da a Java su ubicuidad multiplataforma. PHP se interpreta esencialmente, pero también se interpreta en código de bytes. Este código de bytes se puede almacenar en caché para eliminar la necesidad de interpretaciones repetitivas en sitios de gran volumen.
Las características anteriores nivelarán las comparaciones entre las capacidades de rendimiento de PHP y Java. Sin embargo, la gran verbosidad de Java con respecto al estilo de su código parece agregar peso incluso a las aplicaciones más mínimas. Agregue el deseo de un servidor de aplicaciones web y la huella de memoria crece y crece.
Otro aspecto al comparar el rendimiento de PHP con el de Java es el subprocesamiento. Mucha gente habla de las funciones de subprocesamiento de Java, que necesita para abordar los cuellos de botella en el rendimiento y la concurrencia. PHP también admite subprocesos, pero es posible que no se use ampliamente ya que el lenguaje generalmente procesa solicitudes de páginas individuales en tiempos de respuesta inferiores a un segundo. Esto significa que rara vez se utiliza en un entorno por lotes. En mi opinión, mientras que Java realmente depende de subprocesos para parte de su procesamiento de rendimiento, PHP solo los usa cuando la aplicación requiere ese nivel de seguridad.
Oportunidades profesionales para desarrolladores
El sitio web w3techs indica que PHP lidera el uso, ya que el 76% de los sitios web utilizan este lenguaje. Mientras tanto, Java ocupa el cuarto lugar con sólo el 5% de los sitios web. Al mismo tiempo, un artículo reciente de CodeNinja indicó que hay alrededor de 17 millones de desarrolladores de Java en comparación con 6,3 millones de desarrolladores de PHP. Creo que se pueden sacar muchas inferencias de estas estadísticas, en particular que muchos desarrolladores de Java trabajan en aplicaciones internas en comparación con aplicaciones públicas. Además, dado que la mayoría de los colegios y universidades basan sus planes de estudio en Java, existe un sistema de alimentación integrado para nuevos desarrolladores.
Tiempo para completar proyectos
El tiempo para completar el proyecto también influye a la hora de decidir entre PHP y Java. Por lo general, las aplicaciones PHP se pueden desarrollar a mano o utilizando un marco popular como Laravel, Symfony o Laminas en cuestión de minutos, mientras que la infraestructura de Java tiende a ser mucho más laboriosa, dependiendo de un marco como Spring y el deseo de aprovechar los servidores de aplicaciones web. como Tomcat. Dicho esto, una vez que se construye el proceso de DevOps, esta debería ser una estadística insignificante hasta que alguien necesite construir un nuevo entorno o revisar uno existente.