Article traduït per un sistema de traducció automàtica. Més informació, aquí.

Entrevista

Rasmus Lerdorf, creador del llenguatge PHP

Els creadors de Facebook van poder dur a terme el seu projecte gràcies a PHP
Per José Antonio Gelado 14 de agost de 2008
Img rasmus portada
Imagen: Luc Legay

Si hi ha un enginyer de programació al que es pogués qualificar d’imprescindible en la revolució tecnològica que estem vivint, aquest és, sens dubte, Rasmus Lerdorf (Groenlàndia 1968). Lerdorf pertany al selecte grup de persones sense les quals no hagués estat possible la Web tal com la coneixem avui. Quan, en 1995, va inventar un senzill llenguatge que servia de pont entre el seu navegador i les bases de dades amb què treballava la seva pàgina web personal, va posar la primera pedra per a la creació de les pàgines dinàmiques, capaces de respondre als requeriments de l’usuari.

Va cridar al programa PHP (acrònim de Personal Home Page) i ho va desenvolupar per fer-ho senzill i accessible al comú dels mortals. Així, qualsevol usuari que no sigui programador però tingui ganes, paciència i uns mínims coneixements de desenvolupament web pot crear la seva pròpia pàgina i afegir-li tantes funcionalitats com desitgi. Gràcies a PHP, aquesta cua que veiem al final de la majoria d’adreces URL, milers de persones han pogut dur a terme els seus projectes web sense necessitat de passar per les aules d’enginyeria. Actualment Rasmus Lerdorf treballa com a arquitecte d’infraestructures en Yahoo! i col·labora en les noves versions del llenguatge PHP que es van llançant. CONSUMER EROSKI li va entrevistar durant la passada Campus Party de València.

Com definiria PHP per a algú que no és programador?

És la peça de tecnologia que respon a una petició web i proveeix les dades. Quan apuntes el teu navegador cap a una pàgina web, el servidor respon a la petició i després tracta de trobar la informació per construir la pàgina que després veus en el navegador. PHP seria la part que envia una petició a la base de dades o a un altre servidor per trobar la informació que després enviarà de tornada al navegador.

Quan va desenvolupar PHP pensava que arribaria al nivell que té actualment de popularitat i d’ús?

“Molts usuaris que no eren programadors quan la Web es va popularitzar necessitaven una eina com a PHP per fer les seves pàgines”

No, no tenia ni idea que anava a ser tan popular. Simplement vaig escriure alguna cosa que necessitava. Estava fent llocs web, necessitava una eina i no estava aquí. La gent va començar a utilitzar-la i el seu ús va començar a estendre’s a mesura que es va ser necessitant crear serveis en Internet. Així PHP es va fer cada vegada més popular. Moltes d’aquestes persones no eren tècnics en programació, provenien del departament artístic: creatius o redactors que havien de fer una web amb un editor HTML i els demanaven que fiquessin els productes de l’empresa, els preus i les característiques.

Ells deien: “Un moment, que jo no soc programador; no puc encarregar-me de la pàgina i connectar-la amb una base de dades”. Però els seus caps els responien: “Sí, t’has d’encarregar d’això”. Per això un munt de gent que no eren programadors quan la Web es va popularitzar i havien de confeccionar llocs web tenien pànic i necessitaven una eina com a PHP, que té una corba d’aprenentatge molt plana. És molt fàcil arrencar, i pots agafar una pàgina en HTML i fer-la dinàmica amb PHP. No has de llegir molts llibres per aconseguir-ho amb èxit i desenvolupar una web.

Per a molta gent PHP és “això” que va juntament amb MySQL. Encara que pot funcionar amb altres bases de dades, se solen usar junts, tal vegada pel tipus de llicència sota la qual es distribueixen. Són bons amics PHP i MySQL?

“MySQL va fer per les bases de dades el que PHP pels llenguatges de programació: els va fer accessibles per a molta gent, per a la gent normal”

MySQL va fer per les bases de dades el que PHP pels llenguatges de programació: els va fer accessibles per a molta gent, per a la gent normal. Amb Oracle et sentis davant de l’ordinador, tractes de fer-te a la idea i has de llegir, llegir i llegir moltes coses complicades, configuracions, i has d’entendre molts conceptes sobre com funcionen les bases de dades abans de fer alguna cosa. MySQL és, o almenys era, una base de dades molt senzilla amb la qual podies fer una cosa i fer-la bé.

No feia totes les coses que podia fer Oracle, però només necessitàvem fer alguna cosa senzill per a la web, perquè en els 90 no era necessari fer coses molt complicades. Només necessitaves, per exemple, fer una llista de productes i característiques o preus. En aquest context, un llenguatge de programació senzill i fàcil d’entendre, ajunto una base de dades simple que podies fer funcionar sense grans coneixements, van ser la “killer application” (aplicació determinant) de l’època. Podies fer un senzill formulari que consultés a una base de dades, busqués els resultats i els retornés com a resultat al navegador. Això era tot el que es necessitava en aquest moment.

Quins són els punts forts de PHP enfront d’altres llenguatges de programació?

PHP com a llenguatge de programació no és millor, probablement és pitjor que altres llenguatges, però el que té PHP és que està orientat a un objectiu: la programació web en Internet. Cada cas de la documentació del lloc Php.net està explicat amb un exemple i això és el que busca a gent. Es pot copiar i pegar directament en el codi i realment resol el problema.

“A molts tècnics en programació no els agrada PHP; diuen que és un llenguatge lleig i tenen raó, però no hi ha gens millor per a l’usuari comú”

El que tenen altres llenguatges de programació destinats a un propòsit més general és que la documentació també està destinada a un propòsit més general i diu, per exemple: “Així és com pots buscar una cadena de codi”. Però no explica com resoldre un determinat problema a la web quan t’esdevé. Els enginyers en programació prefereixen una documentació més general per a qualsevol propòsit; els agrada llegir molta documentació i generar un codi preciós.

Per això a molts tècnics en programació no els agrada PHP, diuen que és un llenguatge lleig i prefereixen seguir les normes que hem après en la nostra carrera de programació. I tenen raó, és lleig, no segueix les normes i he pres totes les dreceres possibles, però no hi ha gens millor perquè qualsevol persona pugui desenvolupar una aplicació durant un cap de setmana asseguda enfront de l’ordinador.

“Si els enginyers informàtics controlessin Internet seria horrible, perquè són gent molt intel·ligent però molt avorrida”

Si els enginyers informàtics controlessin Internet seria horrible, perquè són gent molt intel·ligent però molt avorrida, i si cada pàgina web hagués de ser escrita per ells seria insuportable. Per això necessitàvem tenir un llenguatge amb el qual la gent amb idees interessants, i que tingués una mica de temps, pogués asseure’s a l’ordinador i abocar-les a la seva pàgina web.

Això és en el que PHP ha ajudat: a fer la programació web accessible a qualsevol que tingui una idea i vulgui posar-la en pràctica. Empreses com Facebook eren al principi un petit “script” [un conjunto organizado de órdenes de programación] que va créixer i ara és una gran empresa. Sourceforge també era un “script” petit que ha anat creixent i fent-se més gran. Hi ha molts altres exemples de petites companyies que van tenir una gran idea, tenien un llenguatge que es podia entendre i que han creat alguna cosa. I això és una idea molt poderosa avui dia.

Què opina de Ruby?

M’agrada Ruby, crec que és un llenguatge molt bonic, molt consistent i molt potent, però crec que és massa complicat per a molta gent. Ruby On Rails, el “framework” [entorno o marco de programación] que està damunt de Ruby fa que sigui més accessible, però genera molt codi. Si generes un “script” que fa exactament allò para el que està orientat el “framework” és perfecte i obtens exactament el que volies, però si vols fer una altra cosa diferent cal realitzar molts canvis i això comença a complicar-se i has de lluitar amb el “framework”.

Per a algunes persones és un entorn de programació perfecte i això està bé. Des de la perspectiva del rendiment no és tan bo i això és el que m’interessa. Ha de consultar-te cada vegada quin sistema de bases de dades uses, baix quin sistema corre, i ha de mirar moltes coses cada vegada que fas una consulta. Això és a causa del seu propòsit més general.

Creu que la inestabilitat de Twitter, com a exemple de desenvolupament en Ruby, pugues haver-se de precisament a això?

“Probablement la baixa estabilitat de Twitter es degui a un problema d’arquitectura i de bases de dades”
Probablement no, a causa del tipus de lloc web que és Twitter. La major part del tràfic ve de l’API, és a dir que no ve de la pròpia web. Tenien Ruby al principi, en el nivell alt, però ara ja no, i segueixen amb problemes d’estabilitat. Probablement sigui un problema d’arquitectura i configuració de les bases de dades; crec que disposen de tres fonts de bases de dades actualment i senzillament no és suficient per a la quantitat de tràfic que suporten ara com ara. Probablement sigui un problema d’arquitectura i de màquines més que un problema d’elecció de llenguatge.

També pot ser un problema el ràpid creixement del nombre d’usuaris?

“És difícil saber d’on es va a treure els diners amb serveis com Twitter”
L’arquitectura ha d’estar construïda perquè sigui possible afegir més i més servidors i així anar creixent. També pot ser un problema de finançament, ja que de vegades els usuaris arriben en massa abans que arribi els diners i en llocs com Twitter és difícil saber d’on trauran els diners. És un servei que necessita explicar-se als inversors perquè posin el capital i així poder atreure més usuaris amb més servidors. Però si hi ha cada vegada més usuaris i no hi ha més diners, és difícil mantenir el servei i, alhora, atreure finançament; això de vegades acaba en un cercle viciós.

Què podem esperar de PHP 5 ara que s’ha acabat el suport per a PHP 4 ?

Realment estem en la versió PHP 5.3… Estem tractant que sigui més sòlid i robust; hi ha moltes funcionalitats noves en el llenguatge i, després del final del suport per a PHP 4, per a molts desenvolupadors serà la primera vegada que vegin PHP 5. Anem a rebre gran quantitat de missatges de fallades, errors, millores etc. Hem d’aconseguir en els propers sis mesos, abans que surti una nova versió, que amb PHP 5.3 sigui més fàcil fer aplicacions.