PHP 2020

Marc Morera
2 min readSep 2, 2019

--

Estaba escribiendo una chapa de 2020 palabras para poder explicaros por qué PHP merece otra oportunidad, y leyendo el post ya prácticamente terminado, estaba pensando… madre mía, que pedazo de tocharro les estoy metiendo.

Así que resumo.

  • PHP es cojonudo. Lenguaje rápido, sencillo y cargado de librerías especialmente robustas, utilizadas, testeadas y con infinidad de presencia en sistemas deployados.
  • La sintáxis en PHP va mejorando, pero nunca pierde su simplicidad. Para much@s algo negativo. Para mi, clave en su éxito.
  • El paradigma síncrono en PHP durante estos últimos años sigue dominando en las mentes de la mayoría del sector, pero nuevos aires empezan a surgir con otras arquitecturas, como la programación asíncrona y non-blocking.
  • Una comunidad enorme o completamente bolcada en el lenguaje. Esto hacer que el lenguaje sea eterno, almenos por ahora, por lo que requiere nuestro esfuerzo para que cambiar de lenguaje sea tan solo una de las múltiples formas de mejorar nuestros proyectos. A poder ser, la más remota.

No hay más.

Para mi, estos 4 puntos son suficientes como para que, cada vez que alguien abre la boca para meter leña con afirmaciones tan pobres y tan débiles que no merecen ni medio minuto de atención, vosotros penséis en que, y recordad bien esta frase… podéis ser grandes programadores y hacer grandísimas aplicaciones en PHP.

Repetidlo cada vez que lo dudéis, y que refactorizar a otro lenguaje sea siempre un acto de curiosidad y de necesidad real, y no por el mero hecho de pensar que en PHP no se puede. Porque, en la gran mayor parte de los casos, si. Se puede. Por supuesto que se puede.

Finalmente, y sobretodo, nunca os quedéis con aquello que conocéis. PHP puede ser mucho más rápido de lo que vosotros habéis visto nunca, llegando a los niveles de las más altas esferas.

  • Utilizando librerías de CQRS como Tactician os simplificará el código mucho y os limitará positivamente en muchas cosas
  • Adaptadores para RabbitMQ os permitirán trabajar de forma asíncrona en escrituras, por lo que puede mejorar muchísimo la performance de vuestros servidores.
  • Leed un poco sobre CDNs y como servir contenido dinámico. La gente tiene la percepción de que los CDNs son exclusivamente para contenido estático, pero para contenido dinámico puede decrementar el tiempo de respuesta una barbaridad
  • Leed sobre ReactPHP y programación reactiva en PHP. Importante. Reducciones a milisegundos en tiempos de respuesta. Con la programación non-blocking ahorraréis muchísima infrastructura para servir servicios. (Estamos trabajando en una integración con Symfony)
  • Ser precisos con temas de caché, logs y utilizad profilers como Blackfire para entender qué pasa en vuestro servicio. Encontraréis, seguro, puntos de desmadre. 1ms malgastado puede ser eterno en 1 billón de requests.
  • Evitad la sobrearquitectura. La simplicidad permite mejorar muchísimo más en menos tiempo. Pocas clases, muy específicas y bien testeadas.

Dicho esto, me gustaría conocer vuestros casos de proyectos que NO habéis podido hacer en PHP por las razones que fueren. Refáctorings a otros lenguajes y feedback del cambio, así como del coste real.

Quiero conocer ejemplos desde la responsabilidad real, donde los cambios hayan sido fruto del análisis.

--

--