
Se hai un enxeñeiro de programación ao que se puidese cualificar de imprescindible na revolución tecnolóxica que estamos a vivir, ese é, sen dúbida, Rasmus Lerdorf (Groenlandia 1968). Lerdorf pertence ao selecto grupo de persoas sen as cales non fose posible a Web tal e como a coñecemos hoxe. Cando, en 1995, inventou unha sinxela linguaxe que servía de ponte entre o seu navegador e as bases de datos con que traballaba a súa páxina web persoal, puxo a primeira pedra para a creación das páxinas dinámicas, capaces de responder os requirimentos do usuario.
Chamou ao programa PHP (acrónimo de Persoal Home page) e desenvolveuno para facelo sinxelo e accesible ao común dos mortais. Así, calquera usuario que non sexa programador pero teña ganas, paciencia e uns mínimos coñecementos de desenvolvemento web pode crear a súa propia páxina e engadirlle tantas funcionalidades como desexe. Grazas a PHP, esa cola que vemos ao final da maioría de direccións URL, miles de persoas puideron levar a cabo os seus proxectos web sen necesidade de pasar polas aulas de enxeñaría. Actualmente Rasmus Lerdorf traballa como arquitecto de infraestruturas en Yahoo! e colabora nas novas versións da linguaxe PHP que se van lanzando. CONSUMER EROSKI entrevistoulle durante o pasada Campus Party de Valencia.
É a peza de tecnoloxía que responde a unha petición web e prové os datos. Cando apuntas o teu navegador cara a unha páxina web, o servidor responde á petición e logo trata de atopar a información para construír a páxina que logo ves no navegador. PHP sería a parte que envía unha petición á base de datos ou a outro servidor para atopar a información que logo enviará de volta ao navegador.
“Moitos usuarios que non eran programadores cando a Web se popularizou necesitaban unha ferramenta como PHP para facer as súas páxinas”
Non, non tiña nin idea de que ía ser tan popular. Simplemente escribín algo que necesitaba. Estaba a facer sitios web, necesitaba unha ferramenta e non estaba aí. A xente empezou a utilizala e o seu uso comezou a estenderse a medida que se foi necesitando crear servizos en Internet. Así PHP fíxose cada vez máis popular. Moitas desas persoas non eran técnicos en programación, proviñan do departamento artístico: creativos ou redactores que tiñan que facer unha web cun editor HTML e pedíanlles que metesen os produtos da empresa, os prezos e as características.
Eles dicían: “Un momento, que eu non son programador; non podo encargarme da páxina e conectala cunha base de datos”. Pero os seus xefes respondíanlles: “Si, tesche que encargar diso”. Por iso unha chea de xente que non eran programadores cando a Web se popularizou e debían confeccionar sitios web tiñan pánico e necesitaban unha ferramenta como PHP, que ten unha curva de aprendizaxe moi plana. É moi fácil arrincar, e podes coller unha páxina en HTML e facela dinámica con PHP. Non tes que ler moitos libros para conseguilo con éxito e desenvolver unha web.
“MySQL fixo polas bases de datos o que PHP polas linguaxes de programación: fíxoos accesibles para moita xente, para a xente normal”
MySQL fixo polas bases de datos o que PHP polas linguaxes de programación: fíxoos accesibles para moita xente, para a xente normal. Con Oracle sintas diante do computador, tratas de facerche á idea e tes que ler, ler e ler moitas cousas complicadas, configuracións, e debes entender moitos conceptos sobre como funcionan as bases de datos antes de facer algo. MySQL é, ou polo menos era, unha base de datos moi sinxela coa que podías facer unha cousa e facela ben.
Non facía todas as cousas que podía facer Oracle, pero só necesitabamos facer algo sinxelo para a web, porque nos 90 non era necesario facer cousas moi complicadas. Só necesitabas, por exemplo, facer unha lista de produtos e características ou prezos. Neste contexto, unha linguaxe de programación sinxelo e fácil de entender, xunto unha base de datos simple que podías facer funcionar sen grandes coñecementos, foron a “killer application” (aplicación determinante) da época. Podías facer un sinxelo formulario que consultase a unha base de datos, buscase os resultados e devolvéseos como resultado ao navegador. Iso era todo o que se necesitaba nese momento.
PHP como linguaxe de programación non é mellor, probablemente é peor que outras linguaxes, pero o que ten PHP é que está orientado a un obxectivo: a programación web en Internet. Cada caso da documentación do cerco PHP.net está explicado cun exemplo e iso é o que busca a xente. Pódese copiar e pegar directamente no código e realmente resolve o problema.
“A moitos técnicos en programación non lles gusta PHP; din que é unha linguaxe fea e teñen razón, pero non hai nada mellor para o usuario común”
O que teñen outras linguaxes de programación destinados a un propósito máis xeral é que a documentación tamén está destinada a un propósito máis xeral e di, por exemplo: “Así é como podes buscar unha cadea de código”. Pero non explica como resolver un determinado problema na web cando acontéceche. Os enxeñeiros en programación prefiren unha documentación máis xeral para calquera propósito; gústalles ler moita documentación e xerar un código precioso.
Por iso a moitos técnicos en programación non lles gusta PHP, din que é unha linguaxe fea e prefiren seguir as normas que aprendemos na nosa carreira de programación. E teñen razón, é feo, non segue as normas e tomei todos os atallos posibles, pero non hai nada mellor para que calquera persoa poida desenvolver unha aplicación durante un fin de semana sentada fronte ao computador.
“Se os enxeñeiros informáticos controlasen Internet sería horrible, porque son xente moi intelixente pero moi aburrida”
Se os enxeñeiros informáticos controlasen Internet sería horrible, porque son xente moi intelixente pero moi aburrida, e se cada páxina web tivese que ser escrita por eles sería insoportable. Por iso necesitabamos ter unha linguaxe co que a xente con ideas interesantes, e que tivese un pouco de tempo, puidese sentar ao computador e verterlas na súa páxina web.
Iso é no que PHP axudou: en facer a programación web accesible a calquera que teña unha idea e queira pola en práctica. Empresas como Facebook eran ao principio un pequeno “script” [un conjunto organizado de órdenes de programación] que creceu e agora é unha gran empresa. Sourceforge tamén era un “script” pequeno que ha ido crecendo e facéndose máis grande. Hai moitos outros exemplos de pequenas compañías que tiveron unha gran idea, tiñan unha linguaxe que se podía entender e que crearon algo. E iso é unha idea moi poderosa hoxe en día.
Gústame Ruby, creo que é unha linguaxe moi bonita, moi consistente e moi potente, pero creo que é demasiado complicado para moita xente. Ruby On Rails, o “framework” [entorno o marco de programación] que está encima de Ruby fai que sexa máis accesible, pero xera moito código. Se xeras un “script” que fai exactamente aquilo para o que está orientado o “framework” é perfecto e obtés exactamente o que querías, pero se queres facer outra cousa diferente hai que realizar moitos cambios e iso empeza a complicarse e tes que loitar co “framework”.
Para algunhas persoas é unha contorna de programación perfecto e iso está ben. Desde a perspectiva do rendemento non é tan bo e iso é o que me interesa. Ten que consultarche cada vez que sistema de bases de datos usas, baixo que sistema corre, e ten que mirar moitas cousas cada vez que fas unha consulta. Iso é debido ao seu propósito máis xeral.
“Probablemente a baixa estabilidade de Twitter débase a un problema de arquitectura e de bases de datos”Probablemente non, debido ao tipo de sitio web que é Twitter. A maior parte do tráfico vén do API, é dicir que non vén da propia web. Tiñan Ruby nun principio, no nivel alto, pero agora xa non, e seguen con problemas de estabilidade. Probablemente sexa un problema de arquitectura e configuración das bases de datos; creo que dispoñen de tres fontes de bases de datos actualmente e sinxelamente non é suficiente para a cantidade de tráfico que soportan neste momento. Probablemente sexa un problema de arquitectura e de máquinas máis que un problema de elección de linguaxe.
“É difícil saber de onde se vai a sacar o diñeiro con servizos como Twitter”A arquitectura debe estar construída para que sexa posible engadir máis e máis servidores e así ir crecendo. Tamén pode ser un problema de financiamento, xa que ás veces os usuarios chegan en masa antes de que chegue o diñeiro e en sitios como Twitter é difícil saber de onde sacarán o diñeiro. É un servizo que necesita explicarse aos investidores para que poñan o capital e así poder atraer máis usuarios con máis servidores. Pero se hai cada vez máis usuarios e non hai máis diñeiro, é difícil manter o servizo e, á vez, atraer financiamento; iso ás veces termina nun círculo vicioso.
Realmente estamos na versión PHP 5.3… Estamos a tratar de que sexa máis sólido e robusto; hai moitas funcionalidades novas na linguaxe e, tras o final do soporte para PHP 4, para moitos desenvolvedores será a primeira vez que vexan PHP 5. Imos recibir gran cantidade de mensaxes de fallos, erros, melloras etc. Temos que conseguir no próximos seis meses, antes de que salga unha nova versión, que con PHP 5.3 sexa máis fácil facer aplicacións.