Entrevista

Rasmus Lerdorf, creador del lenguaje PHP

Los creadores de Facebook pudieron llevar a cabo su proyecto gracias a PHP
Por José Antonio Gelado 14 de agosto de 2008
Img rasmus portada
Imagen: Luc Legay

Si hay un ingeniero de programación al que se pudiera calificar de imprescindible en la revolución tecnológica que estamos viviendo, ése es, sin duda, Rasmus Lerdorf (Groenlandia 1968). Lerdorf pertenece al selecto grupo de personas sin las cuales no hubiera sido posible la Web tal y como la conocemos hoy. Cuando, en 1995, inventó un sencillo lenguaje que servía de puente entre su navegador y las bases de datos con que trabajaba su página web personal, puso la primera piedra para la creación de las páginas dinámicas, capaces de responder a los requerimientos del usuario.

Llamó al programa PHP (acrónimo de Personal Home Page) y lo desarrolló para hacerlo sencillo y accesible al común de los mortales. Así, cualquier usuario que no sea programador pero tenga ganas, paciencia y unos mínimos conocimientos de desarrollo web puede crear su propia página y añadirle tantas funcionalidades como desee. Gracias a PHP, esa cola que vemos al final de la mayoría de direcciones URL, miles de personas han podido llevar a cabo sus proyectos web sin necesidad de pasar por las aulas de ingeniería. Actualmente Rasmus Lerdorf trabaja como arquitecto de infraestructuras en Yahoo! y colabora en las nuevas versiones del lenguaje PHP que se van lanzando. CONSUMER EROSKI le entrevistó durante la pasada Campus Party de Valencia.

¿Cómo definiría PHP para alguien que no es programador?

Es la pieza de tecnología que responde a una petición web y provee los datos. Cuando apuntas tu navegador hacia una página web, el servidor responde a la petición y luego trata de encontrar la información para construir la página que luego ves en el navegador. PHP sería la parte que envía una petición a la base de datos o a otro servidor para encontrar la información que luego enviará de vuelta al navegador.

¿Cuando desarrolló PHP pensaba que llegaría al nivel que tiene actualmente de popularidad y de uso?

“Muchos usuarios que no eran programadores cuando la Web se popularizó necesitaban una herramienta como PHP para hacer sus páginas”

No, no tenía ni idea de que iba a ser tan popular. Simplemente escribí algo que necesitaba. Estaba haciendo sitios web, necesitaba una herramienta y no estaba ahí. La gente empezó a utilizarla y su uso comenzó a extenderse a medida que se fue necesitando crear servicios en Internet. Así PHP se hizo cada vez más popular. Muchas de esas personas no eran técnicos en programación, provenían del departamento artístico: creativos o redactores que tenían que hacer una web con un editor HTML y les pedían que metieran los productos de la empresa, los precios y las características.

Ellos decían: “¡Un momento, que yo no soy programador; no puedo encargarme de la página y conectarla con una base de datos”. Pero sus jefes les respondían: “Sí, te tienes que encargar de eso”. Por eso un montón de gente que no eran programadores cuando la Web se popularizó y debían confeccionar sitios web tenían pánico y necesitaban una herramienta como PHP, que tiene una curva de aprendizaje muy plana. Es muy fácil arrancar, y puedes coger una página en HTML y hacerla dinámica con PHP. No tienes que leer muchos libros para conseguirlo con éxito y desarrollar una web.

Para mucha gente PHP es “eso” que va junto con MySQL. Aunque puede funcionar con otras bases de datos, se suelen usar juntos, tal vez por el tipo de licencia bajo la que se distribuyen. ¿Son buenos amigos PHP y MySQL?

“MySQL hizo por las bases de datos lo que PHP por los lenguajes de programación: los hizo accesibles para mucha gente, para la gente normal”

MySQL hizo por las bases de datos lo que PHP por los lenguajes de programación: los hizo accesibles para mucha gente, para la gente normal. Con Oracle te sientas delante del ordenador, tratas de hacerte a la idea y tienes que leer, leer y leer muchas cosas complicadas, configuraciones, y debes entender muchos conceptos sobre cómo funcionan las bases de datos antes de hacer algo. MySQL es, o al menos era, una base de datos muy sencilla con la que podías hacer una cosa y hacerla bien.

No hacía todas las cosas que podía hacer Oracle, pero sólo necesitábamos hacer algo sencillo para la web, porque en los 90 no era necesario hacer cosas muy complicadas. Sólo necesitabas, por ejemplo, hacer una lista de productos y características o precios. En este contexto, un lenguaje de programación sencillo y fácil de entender, junto una base de datos simple que podías hacer funcionar sin grandes conocimientos, fueron la “killer application” (aplicación determinante) de la época. Podías hacer un sencillo formulario que consultara a una base de datos, buscara los resultados y los devolviera como resultado al navegador. Eso era todo lo que se necesitaba en ese momento.

¿Cuáles son los puntos fuertes de PHP frente a otros lenguajes de programación?

PHP como lenguaje de programación no es mejor, probablemente es peor que otros lenguajes, pero lo que tiene PHP es que está orientado a un objetivo: la programación web en Internet. Cada caso de la documentación del sitio PHP.net está explicado con un ejemplo y eso es lo que busca a gente. Se puede copiar y pegar directamente en el código y realmente resuelve el problema.

“A muchos técnicos en programación no les gusta PHP; dicen que es un lenguaje feo y tienen razón, pero no hay nada mejor para el usuario común”

Lo que tienen otros lenguajes de programación destinados a un propósito más general es que la documentación también está destinada a un propósito más general y dice, por ejemplo: “Así es como puedes buscar una cadena de código”. Pero no explica cómo resolver un determinado problema en la web cuando te acontece. Los ingenieros en programación prefieren una documentación más general para cualquier propósito; les gusta leer mucha documentación y generar un código precioso.

Por eso a muchos técnicos en programación no les gusta PHP, dicen que es un lenguaje feo y prefieren seguir las normas que hemos aprendido en nuestra carrera de programación. Y tienen razón, es feo, no sigue las normas y he tomado todos los atajos posibles, pero no hay nada mejor para que cualquier persona pueda desarrollar una aplicación durante un fin de semana sentada frente al ordenador.

“Si los ingenieros informáticos controlaran Internet sería horrible, porque son gente muy inteligente pero muy aburrida”

Si los ingenieros informáticos controlaran Internet sería horrible, porque son gente muy inteligente pero muy aburrida, y si cada página web tuviera que ser escrita por ellos sería insoportable. Por eso necesitábamos tener un lenguaje con el que la gente con ideas interesantes, y que tuviera un poco de tiempo, pudiera sentarse al ordenador y verterlas en su página web.

Eso es en lo que PHP ha ayudado: en hacer la programación web accesible a cualquiera que tenga una idea y quiera ponerla en práctica. Empresas como Facebook eran al principio un pequeño “script” [un conjunto organizado de órdenes de programación] que creció y ahora es una gran empresa. Sourceforge también era un “script” pequeño que ha ido creciendo y haciéndose más grande. Hay muchos otros ejemplos de pequeñas compañías que tuvieron una gran idea, tenían un lenguaje que se podía entender y que han creado algo. Y eso es una idea muy poderosa hoy en día.

¿Qué opina de Ruby?

Me gusta Ruby, creo que es un lenguaje muy bonito, muy consistente y muy potente, pero creo que es demasiado complicado para mucha gente. Ruby On Rails, el “framework” [entorno o marco de programación] que está encima de Ruby hace que sea más accesible, pero genera mucho código. Si generas un “script” que hace exactamente aquello para lo que está orientado el “framework” es perfecto y obtienes exactamente lo que querías, pero si quieres hacer otra cosa diferente hay que realizar muchos cambios y eso empieza a complicarse y tienes que luchar con el “framework”.

Para algunas personas es un entorno de programación perfecto y eso está bien. Desde la perspectiva del rendimiento no es tan bueno y eso es lo que me interesa. Tiene que consultarte cada vez qué sistema de bases de datos usas, bajo qué sistema corre, y tiene que mirar muchas cosas cada vez que haces una consulta. Eso es debido a su propósito más general.

¿Cree que la inestabilidad de Twitter, como ejemplo de desarrollo en Ruby, puede deberse precisamente a esto?

“Probablemente la baja estabilidad de Twitter se deba a un problema de arquitectura y de bases de datos”
Probablemente no, debido al tipo de sitio web que es Twitter. La mayor parte del tráfico viene de la API, es decir que no viene de la propia web. Tenían Ruby en un principio, en el nivel alto, pero ahora ya no, y siguen con problemas de estabilidad. Probablemente sea un problema de arquitectura y configuración de las bases de datos; creo que disponen de tres fuentes de bases de datos actualmente y sencillamente no es suficiente para la cantidad de tráfico que soportan hoy por hoy. Probablemente sea un problema de arquitectura y de máquinas más que un problema de elección de lenguaje.

¿También puede ser un problema el rápido crecimiento del número de usuarios?

“Es difícil saber de dónde se va a sacar el dinero con servicios como Twitter”
La arquitectura debe estar construida para que sea posible añadir más y más servidores y así ir creciendo. También puede ser un problema de financiación, ya que a veces los usuarios llegan en masa antes de que llegue el dinero y en sitios como Twitter es difícil saber de dónde sacarán el dinero. Es un servicio que necesita explicarse a los inversores para que pongan el capital y así poder atraer más usuarios con más servidores. Pero si hay cada vez más usuarios y no hay más dinero, es difícil mantener el servicio y, a la vez, atraer financiación; eso a veces termina en un círculo vicioso.

¿Qué podemos esperar de PHP 5 ahora que se ha acabado el soporte para PHP 4 ?

Realmente estamos en la versión PHP 5.3… Estamos tratando de que sea más sólido y robusto; hay muchas funcionalidades nuevas en el lenguaje y, tras el final del soporte para PHP 4, para muchos desarrolladores será la primera vez que vean PHP 5. Vamos a recibir gran cantidad de mensajes de fallos, errores, mejoras etc. Tenemos que conseguir en los próximos seis meses, antes de que salga una nueva versión, que con PHP 5.3 sea más fácil hacer aplicaciones.

Sigue a Consumer en Instagram, X, Threads, Facebook, Linkedin o Youtube