Fotografía macro de una pantalla con código PHP

(traducción de este entrada que publiqué originalmente en inglés y que suscitó una gran controversia en reddit, con más de 1500 votos y 600 comentarios con lo que creo que vale la pena reproducirlo aquí para los lectores de habla hispana)

El domingo decidí organizar un poco mis libros en casa y allí estaba, un libro de PHP que había olvidado completamente (¡no recuerdo ni el porqué lo llegue a comprar!): PHP 6 – Fast and easy web development.

El libro se publicó en enero del 2008. Ahora, más de seis años después, la última versión de PHP es todavía la 5.5 5.6 (era la 5.5 cuando se escribió originalmente el post pero justo después apareció la 5.6 haciendo, si cabe, la situación todavía más deplorable). Aparte del hecho que, claramente, los autores del libro son unos genios del marketing (los que no conozcan bien la evolución de PHP llegarían a comprar hoy todavía el libro pensando que es un avance de las futuras novedades del lenguaje), esta situación dice bastante acerca del lenguaje PHP y su evolución. Además, esto tiene claras implicaciones en WordPress, ya que la mayor parte del código de WordPress está escrito en PHP (aunque los tiempos están cambiando, sí, te miro a ti, JavaScript).

Según Wikipedia, PHP 5.0 apareció en 2005. PHP 6 se suponía que iba a añadir algunas importantes mejoras a PHP 5, sobretodo en cuanto a integración de soporte con Unicode. Esto último fue un rotundo fracaso, con lo que se empezaron a reimplementar algunas de las otras nuevas funcionalidades de PHP 6 en la versión de PHP 5 que estaba funcionando en ese momento. Y así seguimos, nueve años después, todavía con PHP 5 (sí, mejorado pero todavía PHP 5). Cierto, parece que la comunidad se está moviendo a un ritmo acelerado últimamente con las mejoras de eficiencia desarrollados por el grupo PHPNG (PHP Next Generation) que deben convertirse en la parte fundamental, junto con otros cambios más a nivel sintáctico, de PHP 7 (fijaos que se saltan el número 6 para evitar confusiones con el intento anterior) así como otras iniciativas como HHVM (just in time compilation para PHP).

A pesar de estos esfuerzos (tardíos, me atrevo a decir), uno esperaría que debido a la importancia de PHP en Internet su evolución hubiera sido mucho más continua. Guste más o menos el lenguaje en sí, muchísimas webs están creadas con PHP. Recordad que sólo WordPress ya gestiona el 23% de todo Internet.

No conozco suficientemente la comunidad PHP como para aventurar razones que puedan explicar esto, aunque esto no parece preocupar a la gran mayoría de proveedoras de Internet que no sólo no apoyan la evolución del lenguaje sinO que directamente instalan versiones incluso más antiguas que la actual (en algunos casos hasta versiones que de hecho ya han llegado al final de su ciclo de vida y no van a ser ya mantenidas).

Esto provoca el problema añadido de que WordPress no actualice sus requisitos mínimos de instalación (PHP 5.2.4 a día de hoy) en lo que es el típico problema del huevo y la gallina (WordPress no los actualiza porqué muchos hosts siguen utilizando esa versión y los hosts no actualizan sus versiones porqué WordPress ya funciona bien en ellos y así se ahorran trabajo). ¿El resultado? Más de 20 millones de usuarios (solamente contando usuarios de webs WordPress) con sus webs corriendo en versiones desactualizadas, y potencialmente inseguras, de PHP.

Estos dos tweets de Andrew Nacin dan un poco más de contexto a esta situación (fijaos en la diferencia de fechas entre los dos tweets).

Y, ya puestos, ¿algún interesado en comprarme el libro? Está como nuevo 🙂

Imagen destacada de Ilya Pavlov en Unsplash.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad de Nelio Software

Tus datos personales se almacenarán en SiteGround y serán usados por Nelio Software con el único objetivo de publicar tu comentario aquí. Con el envío de este comentario, nos das el consentimiento expreso para ello. Escríbenos para acceder, rectificar, limitar o eliminar tus datos personales.