@kerunaru

desarrollador de software


PHP es el mal — 22/10/2017

Estoy sorprendido de la cantidad de ampollas que PHP aún genera entre los desarrolladores pese a la cantidad de mejoras que ha habido en estos últimos años, no solo en el lenguaje en sí, sino en su comunidad.

Siempre he sido un ferviente defensor de PHP. Me parece un lenguaje que está al alcance de todos; no tanto a lo que sintaxis se refiere (que también) sino a que es barato y accesible. Esto permite que cualquiera pueda desarrollar una aplicación sin mucho presupuesto, lo cual, se traduce en un empoderamiento tecnológico de la gente. Y todo lo que sea democratizar la informática es más que bienvenido.

Dejando la política a un lado, y volviendo al tema con el que he iniciado este texto, cuando hablo con otros colegas desarrolladores que basan su actividad en otros lenguajes siempre obtengo los mismos argumentos: que si PHP está roto, que si la sintaxis es fea, que si el mero hecho de usarlo hace que el código sea propenso a errores y un largo etcétera.

Evidentemente, PHP no es perfecto. El mero hecho de haber sido desarrollado por humanos lo hace imperfecto al igual que nuestra especie. De igual modo podríamos decir que ningún lenguaje de programación es perfecto. Quizá se podría decir que los puede haber unos mejores que otros pero entonces los estaríamos tratando como si fueran algo estático, lo cual, no es cierto.

Los lenguajes evolucionan. Si echáis un ojo a las estadísticas del repositorio de PHP en GitHub podréis ver que, en el mes de octubre, se han efectuado unos 346 commits afectando a más de 400 archivos distintos. Además de haberse realizado el merge de 6 pull requests. Lo que quiero decir con estos datos es que, día a día, se trabaja para mejorar el lenguaje y adecuarlo a los tiempos que corren. Estos esfuerzos se ven materializados en diferentes hechos.

Mi favorito es el de los benchmarks; podéis echar un ojo a un par de comparativas que seguro que matará algún que otro mito.

Otro hecho importante es el de la modernización del lenguaje. Cómo se puede apreciar en la sección de cambios retroincompatibles, el paso de PHP5 a PHP7 fue muy importante en este aspecto donde se corrigieron numerosas fallas en el diseño del lenguaje. Incluso hay cambios importantes de PHP7 a PHP7.1 que van en la dirección de hacer PHP más fiable.

Dejando a un lado el lenguaje en sí, la comunidad también evoluciona con el tiempo. Esto se ve fácilmente cuando echamos una vista a la cantidad de frameworks existentes hoy día para PHP como Symfony, Laravel o Slim o en librerías como las ofrecidas por The League of Extraordinary Packages.

Pero dónde sin ninguna duda se plasma el cambio de la comunidad de desarrolladores que usan PHP es en la creación del PSR. Que decidiéramos llegar a un consenso en cómo desarrollar usando PHP supuso un gran avance y unificó en mayor o menor medida los esfuerzos de una comunidad disgregada donde cada cual hacía las cosas a su manera. Gracias a usar las sencillas reglas que dicta el PSR, podremos crear paquetes interoperables entre diferentes proyecto. ¿En qué se traduce esto? Básicamente en que si estoy haciendo un proyecto y uso Monolog para la escritura de logs puedo cambiar a otra librería de logs sin problemas siempre que se haya desarrollado siguiendo el PSR.

Otro aspecto que me gustaría mencionar para terminar con este artículo es la profesionalización del lenguaje. Y no me estoy refiriendo a que antes fueramos unos aficionados sino al uso de PHP para cosas que antes era, cuanto menos, extraño. Quizá el ejemplo más claro de a qué me estoy refiriendo sea la implementación del diseño orientado a dominio, algo casi exclusivo de la plataforma .NET de Microsoft debido a su alta vinculación con el mundo corporativo y, ya sabéis, en el ámbito empresarial Microsoft es el emperador.

Espero que este artículo haya servido para erradicar algunos mitos a quien lo haya leído acerca de PHP y también para mostrar de paso el estado actual de la comunidad.

PHP es un lenguaje tan válido como cualquier otro.