{"id":126,"date":"2026-01-24T08:51:00","date_gmt":"2026-01-24T12:51:00","guid":{"rendered":"https:\/\/juredev.com\/blog\/?p=126"},"modified":"2026-02-16T11:46:15","modified_gmt":"2026-02-16T15:46:15","slug":"sesgo-dinosaurio-php-8-5-evolucion","status":"publish","type":"post","link":"https:\/\/juredev.com\/blog\/2026\/01\/sesgo-dinosaurio-php-8-5-evolucion\/","title":{"rendered":"El sesgo del dinosaurio: Por qu\u00e9 seguimos criticando un PHP que ya no existe"},"content":{"rendered":"\n<p>En tecnolog\u00eda, las malas reputaciones tardan una eternidad en morir, mucho despu\u00e9s de que los errores que las generaron desaparecieran del mapa. Todav\u00eda hay gente que suelta con total convicci\u00f3n que <a href=\"https:\/\/juredev.com\/blog\/2025\/02\/de-dinosaurio-a-innovador-como-php-8-x-ha-transformado-el-desarrollo-web\/\" data-type=\"link\" data-id=\"https:\/\/juredev.com\/blog\/2025\/02\/de-dinosaurio-a-innovador-como-php-8-x-ha-transformado-el-desarrollo-web\/\"><strong>PHP<\/strong><\/a> es \u201cca\u00f3tico\u201d, \u201cinseguro\u201d o \u201cun lenguaje de juguete\u201d\u2026 y lo dice gente que no ha tocado un archivo <strong>.php<\/strong> desde la \u00e9poca en que Internet Explorer 6 era el rey y la extensi\u00f3n <strong>mysql_<\/strong> parec\u00eda una buena idea.<\/p>\n\n\n\n<p>Es momento de hablar del sesgo del dinosaurio: esa especie de bloqueo mental que impide aceptar que el lenguaje que uno conoci\u00f3 hace 15 a\u00f1os ya no existe. En su lugar hay una herramienta moderna, con tipado fuerte opcional pero muy potente, rendimiento que compite de t\u00fa a t\u00fa con otros lenguajes, y un ecosistema que sigue moviendo alrededor del 72-74% de la web (y s\u00ed, seg\u00fan W3Techs en 2026, sigue siendo el rey indiscutible en cuota de mercado).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">El origen del mito: el PHP que s\u00ed daba miedo<\/h2>\n\n\n\n<p>El alias de \u201cdinosaurio\u201d no es casual. Casi siempre que alguien ataca <strong>PHP<\/strong> en tiempos recientes, lo hace apoy\u00e1ndose en recuerdos de las versiones 4.x o 5.6 (m\u00e1s o menos entre 2000 y 2014): variables globales por doquier, funciones <strong>mysql_query()<\/strong> sin preparaci\u00f3n alguna, c\u00f3digo espagueti incrustado directamente en HTML, y una \u201cseguridad\u201d que b\u00e1sicamente consist\u00eda en rezar para que no te hackearan. Ese <strong>PHP<\/strong> est\u00e1 m\u00e1s muerto que el disco duro de mi primer Pentium IV. Lleva m\u00e1s de una d\u00e9cada enterrado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La metamorfosis real: de PHP 7 hasta PHP 8.5<\/h2>\n\n\n\n<p>Desde 2015 el lenguaje ha cambiado tanto que muchos cr\u00edticos parecen elegir ignorarlo a prop\u00f3sito. Ya no se trata solo de que \u201ccorre m\u00e1s r\u00e1pido\u201d; es una evoluci\u00f3n arquitect\u00f3nica profunda:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>PHP 7.x (2015 en adelante):<\/strong> redise\u00f1o completo del motor Zend Engine, rendimiento pr\u00e1cticamente duplicado, tipado escalar estricto, y el famoso spaceship operator <strong>&lt;=><\/strong> que ya todos usamos sin darnos cuenta.<\/li>\n\n\n\n<li><strong>PHP 8.0 a 8.2:<\/strong> lleg\u00f3 el <strong>JIT<\/strong> (Just-In-Time compilation) que realmente importa en cargas altas, union types, enums, clases readonly, atributos (attributes), named arguments\u2026 un mont\u00f3n de az\u00facar sint\u00e1ctico que hace que el c\u00f3digo sea mucho m\u00e1s expresivo y seguro.<\/li>\n\n\n\n<li><strong>PHP 8.4 (finales de 2024)<\/strong>: el gran salto cualitativo con <strong>Property Hook<\/strong>s, que b\u00e1sicamente te permiten meter l\u00f3gica directamente en las propiedades sin tener que escribir getters y setters infinitos. Tambi\u00e9n mejor\u00f3 la visibilidad asim\u00e9trica, soporte HTML5 en DOM, y varias cositas m\u00e1s que simplifican el d\u00eda a d\u00eda.<\/li>\n\n\n\n<li><strong>PHP 8.5 (finales de 2025, la versi\u00f3n que usamos ahora en 2026): <\/strong>refinamiento extremo del sistema de tipos, mejoras en la introspecci\u00f3n de constantes y clases, y un <strong>JIT<\/strong> a\u00fan m\u00e1s maduro y optimizado para aplicaciones de larga duraci\u00f3n y alta concurrencia.<\/li>\n<\/ul>\n\n\n\n<p>Hoy en d\u00eda es normal ver c\u00f3digo que respira limpieza, inmutabilidad y seguridad desde el minuto uno. Mira este ejemplo sencillo pero muy actual:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>readonly class Product\n{\n    public function __construct(\n        public string $name {\n            get => $this->name;\n            set($value) {\n                if (strlen($value) &lt; 3) {\n                    throw new InvalidArgumentException('El nombre debe tener al menos 3 caracteres.');\n                }\n                $this->name = trim($value);\n            }\n        },\n        public Category $category,\n        public ?float $price = null\n    ) {}\n}<\/code><\/pre>\n\n\n\n<p>Con solo unas l\u00edneas tienes validaci\u00f3n en la propiedad, inmutabilidad de la clase, tipado estricto\u2026 y cero boilerplate<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Desmontando las cr\u00edticas cl\u00e1sicas <\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u201cPHP es inseguro\u201d:<\/strong> Las funciones peligrosas del pasado (mysql_, addslashes, etc.) fueron eliminadas hace a\u00f1os. Hoy el est\u00e1ndar es <strong>PDO<\/strong> con sentencias preparadas o mysqli con prepare. Frameworks como <strong>Laravel<\/strong> y <strong>Symfony<\/strong> imponen seguridad por defecto (<strong>CSRF<\/strong>, escaping autom\u00e1tico, validaci\u00f3n estricta) que dejan en rid\u00edculo a muchos proyectos \u201cserios\u201d en otros lenguajes que se configuran a las apuradas.<\/li>\n\n\n\n<li><strong>\u201cNadie lo usa, est\u00e1 muerto\u201d<\/strong>: Las estad\u00edsticas de W3Techs no mienten: PHP sigue en torno al 72-74% de los sitios con lenguaje de servidor conocido. No solo WordPress: Wikipedia, Etsy, Slack, partes enormes de Facebook (HHVM empez\u00f3 con PHP), Moodle, Drupal\u2026 PHP escala a nivel empresarial con un consumo de recursos que muchos envidian.<\/li>\n\n\n\n<li><strong>\u201cEn PHP cualquiera escribe c\u00f3digo horrible\u201d<\/strong>: S\u00ed, y en JavaScript, Python, Go y hasta Rust tambi\u00e9n. La diferencia es que el ecosistema moderno de PHP (<strong>Composer<\/strong>, <strong>PSR-12<\/strong>, <strong>PHPUnit<\/strong>, <strong>PHPStan<\/strong>, <strong>Psalm<\/strong>, <strong>Rector<\/strong>, <strong>Laravel Pint<\/strong>\u2026) te da herramientas de an\u00e1lisis est\u00e1tico y disciplina que no tienen nada que envidiarle a lenguajes compilados. Si el c\u00f3digo es malo, es porque el desarrollador eligi\u00f3 escribirlo mal\u2026 no porque el lenguaje lo obligue.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">El problema de fondo: pereza cognitiva disfrazada de superioridad<\/h2>\n\n\n\n<p>Criticar <strong>PHP<\/strong> es barato y te hace sentir muy smart en X, Reddit, Hacker News o un grupo de Telegram. Actualizarse cuesta: hay que instalar <strong>PHP 8.5<\/strong>, probar los property hooks, entender los atributos, migrar c\u00f3digo viejo, aceptar que lo que sab\u00edas en 2012 ya no sirve de mucho. Es mucho m\u00e1s f\u00e1cil repetir el meme de \u201cPHP es basura\u201d de 2010 que abrir la documentaci\u00f3n actual y ver lo que hay.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfJubilamos al dinosaurio de una vez?<\/h2>\n\n\n\n<p><strong><a href=\"https:\/\/juredev.com\/blog\/tag\/php\/\" data-type=\"link\" data-id=\"https:\/\/juredev.com\/blog\/tag\/php\/\">PHP<\/a><\/strong> no es perfecto (ning\u00fan lenguaje lo es), pero en 2026 es una opci\u00f3n completamente racional, rapid\u00edsima y muy poderosa para la gran mayor\u00eda de proyectos web.<\/p>\n\n\n\n<p>Si alguien quiere seguir odi\u00e1ndolo por lo que fue en 2008, all\u00e1 \u00e9l. Pero seamos honestos: no critiques un cad\u00e1ver. Critica al lenguaje vivo, o mejor a\u00fan, pru\u00e9balo con mente abierta.<\/p>\n\n\n\n<p>Cuando abras un proyecto fresco en <strong>PHP 8.5<\/strong> con <strong><a href=\"https:\/\/symfony.com\/\" data-type=\"link\" data-id=\"https:\/\/symfony.com\/\">Symfony 7<\/a><\/strong>, <strong><a href=\"https:\/\/laravel.com\/\" data-type=\"link\" data-id=\"https:\/\/laravel.com\/\">Laravel 12<\/a><\/strong>, o incluso un microservicio limpio con solo el n\u00facleo\u2026 es muy probable que te pase lo mismo que a muchos de nosotros: te das cuenta de que el dinosaurio se extingui\u00f3 hace rato, y lo que queda es una herramienta dominante, madura y (s\u00ed, lo digo) sorprendentemente elegante.<\/p>\n\n\n\n<p>\u00bfY t\u00fa? \u00bfCu\u00e1ndo fue la \u00faltima vez que le diste una chance real a PHP moderno?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En tecnolog\u00eda, las malas reputaciones tardan una eternidad en morir, mucho despu\u00e9s de que los errores que las generaron desaparecieran del mapa. Todav\u00eda hay gente que suelta con total convicci\u00f3n que PHP es \u201cca\u00f3tico\u201d, \u201cinseguro\u201d o \u201cun lenguaje de juguete\u201d\u2026 y lo dice gente que no ha tocado un archivo .php desde la \u00e9poca en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[135,15],"class_list":["post-126","post","type-post","status-publish","format-standard","hentry","category-nota","tag-opinion","tag-php"],"_links":{"self":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/posts\/126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/comments?post=126"}],"version-history":[{"count":0,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/posts\/126\/revisions"}],"wp:attachment":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/media?parent=126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/categories?post=126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/tags?post=126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}