Scopri gli articoli di Geeks Academy su: Blockchain, Coding, Cybersecurity, Cloud, Big Data, Artificial Intelligence, Gaming, Digital Innovation
CHI È RASMUS LERDORF
Rasmus Lerdorf nasce il 22 novembre 1968 a Qeqertarsuaq, una minuscola cittadina (soli 1100 abitanti!) dell'isola di Disko, in Groenlandia. Trasferitosi con la famiglia in Canada negli anni 80, nel 1993 si laurea con lode alla University of Waterloo in Scienze Applicate in System Design Engineering. Fra i suoi successi si inseriscono l'aggiunta della clausola LIMIT al DBMS di MySQL e un contributo ad Apache HTTP Server.
Nel decennio successivo all'ottenimento della laurea, Rasmus scrive il linguaggio di programmazione PHP, cambia diversi lavori, accumulando esperienza nei settori IT di numerose aziende e spostandosi in diversi stati, fino ad approdare alla California, stato in cui ha tutt'ora residenza. Nel 2002 inizia a lavorare per Yahoo! Inc. in qualità di Infrastructure Architecture Engineer, un ruolo che ricoprirà per 7 anni. Dopo un breve periodo presso WePay dove si occupa di sviluppare API, nel 2013 Rasmus inizia a lavorare per Etsy, il popolarissimo sito di commercio di artigianato, come Distinguished Engineer e ad oggi ancora lavora lì.
Molto spesso Rasmus prende parte a conferenze come instancabile relatore, sempre affabile e pronto a rispondere alle domande dei suoi ascoltatori, e sempre preparatissimo. Nel 2007, durante l'Open Source CMS Summit, durante il suo intervento ha esposto una falla nella sicurezza di tutti i progetti che erano stati presentati durante la conferenza.
RISOLVERE PROBLEMI
L'approccio al mondo della programmazione di Rasmus Lerdorf è semplice ed efficace: “risolvere problemi”. La creazione di PHP è una dimostrazione plateale di questa filosofia: come Rasmus ha ribadito più volte, “Non ho creato PHP perché volevo scrivere un nuovo linguaggio. Ma per risolvere un problema. Quello che mi appassiona è risolvere cose. Programmare mi annoia. Sono un ingegnere che ama usare tools e quando non ce n'è uno che mi serve, lo creo. Oggi non ho alcun bisogno di creare un nuovo linguaggio”.
Un buon esempio per capire fino a che punto Rasmus è un appassionato risolutore di problemi è un aneddoto risalente a un momento della vita pre-PHP di Lerdorf, durante un tirocinio presso la Nortel Telecom di Toronto, che pare abbia avuto una forte influenza sul modo in cui ha progettato PHP. Rasmus racconta che circa ogni due mesi il sistema di callrouting dell'azienda faceva cadere ogni singola chiamata dalla sua coda - un bug che non erano mai riusciti a risolvere, nonostante avessero passato anni a cercarlo. Così chiesero all'allora giovanissimo Lerdorf di indagare, senza pensare realmente che avrebbe potuto risolverlo, ma intendendolo più che altro come un metodo per imparare e conoscere a fondo il funzionamento del sistema.
Invece, Lerdorf stampò ogni riga del codice sorgente, lo attaccò con lo scotch alle pareti dei corridoi, tracciandone il flusso e cercando di debuggarlo manualmente. Dopo tre mesi e mezzo, Rasmus trovò finalmente l'errore, che si rivelò essere una collisione della variabile globale. “Due parti separate del codice, completamente estranee, avevano lo stesso nome per una variabile. E quest'ultima era globale: cambiata in un posto esattamente nel momento sbagliato, avrebbe fatto impazzire quest'altro codice. E il compilatore C all'epoca non aveva modo di informarci che ciò stava accadendo...".
COM'È NATO PHP
PHP è nato nel 1994, appena un anno dopo la sua laurea: «Quando ho iniziato a scrivere PHP, non avevo alcuna idea di come si scrivesse un linguaggio di programmazione. Allora cosa ho fatto? Sono andato avanti per step logici, aggiungendo via via un pezzo del puzzle a un altro». E ancora, “Ho sempre pensato a PHP come a una soluzione concreta da usare, come uno spazzolino. Lo usi ogni giorno, fa il suo lavoro, è uno strumento semplice. Allo stesso modo, ho concepito PHP”.
Alla momento del lancio ufficiale sul mercato nel 1995, l'acronimo “PHP” stava per Personal Home Page e il codice veniva identificato come un “Hypertext Preprocessor”. PHP è stato inizialmente scritto in C come un insieme di CGI - no, non gli effetti speciali di Hollywood! - ovvero “Common Gateway Interface”.
Lo scopo originario di PHP era di dare la possibilità di creare pagine web dinamiche e più interattive, e non a caso la sua creazione coincide con gli anni del boom di Internet! L'idea di Rasmus era piuttosto semplice e chiara: trovare un'alternativa facile e veloce rispetto a C e Perl, la cui scrittura era troppo lenta per i ritmi che stava imponendo la diffusione di Internet. Pertanto, Rasmus creò un linguaggio che potesse essere usato come template, all'interno del quale andare a incorporare snippets in grado di mostrare gli output di funzioni o valori salvati in variabili, mentre il resto della logica di business lato-server poteva tranquillamente continuare ad essere implementata in CGI separate.
I tre mesi e mezzo passati a debuggare manualmente il codice della Nortel Telecom furono un'importante lezione per Rasmus, soprattutto durante l'aggiunta di variabili e scope in PHP, il che fa sì che quando in PHP si ha intenzione di passare al globale, “devi dichiarare dannatamente bene il fatto, all'interno del metodo o di una funzione”, in modo da prevenire un passaggio accidentale.
Spesso, quando Lerdorf partecipa a conferenze o summit su PHP ribadisce una serie di concetti importanti per capire come funziona PHP e in generale la programmazione; fra questi, ci sono due lezioni di vita particolarmente importanti da portare a casa:
1. COSTRUIRE UN ECOSISTEMA
Durante la fase di ideazione di PHP, per Rasmus non era tanto importante che il linguaggio fosse sintatticamente corretto al 100%, quanto il fatto che l'ecosistema all'interno del quale si andava a posizionare questo linguaggio fosse il più comprensivo e adatto possibile e ne assicurasse il buon funzionamento sulla maggior parte degli ambienti di hosting condivisi e l'integrazione con i web server e i sistemi di database esistenti.
2. IL CODICE SI FA PER SE STESSI
L'approccio di Rasmus alla programmazione, ovvero “risolvere problemi”, vale un po' per tutti: il team di sviluppo di un linguaggio, così come gli sviluppatori indipendenti, cerca sempre di trovare nuove soluzioni a problematiche che causano difficoltà a loro, e non alla community: è per questo che è importante identificare il singolo problema, prima di poter sperare in una soluzione.
QUANTO E COME SI È DIFFUSO PHP
Fin dall'inizio, Rasmus era convinto che la durata massima di PHP sarebbe stata di sei mesi, magari un anno. E ogni sei mesi si ritrovava a sorprendersi che PHP fosse ancora in uso e che nessun altro avesse pensato di scrivere un linguaggio più efficace. Beh, possiamo tranquillamente dire che Rasmus si sbagliava di grosso, considerando che il 2019 ha visto il suo linguaggio di programmazione PHP compiere ben 25 anni!
Ad oggi, PHP è il linguaggio di scripting generico e open-source più diffuso al mondo, utilizzato da quasi l'80% di tutti i siti web presenti su Internet. Grazie a uno script, il codice può interrogare database, creare immagini, leggere e scrivere file e comunicare con server remoti.
PHP può essere utilizzato con tutti i principali sistemi operativi, compresi Linux, Microsoft Windows, Mac OS X e RISC OS. Inoltre, gli sviluppatori di PHP sono ben consci delle minacce alla sicurezza sulla rete e hanno implementato la funzione di accesso obbligatorio tramite nome utente e password per poter accedere al sito. PHP è alimentato dalla piattaforma open-source Zend Engine, e può essere incorporato direttamente nell'HTML o utilizzato nei sistemi di gestione dei contenuti (CMS) o nei framework web.
Ad oggi non è chiaro quanti siano esattamente gli sviluppatori PHP nel mondo, anche se Zend ha recentemente stimato che il numero si aggira intorno ai 5 milioni. Secondo il Web Server Survey di Netcraft, a gennaio 2013, circa 244 milioni di siti web utilizzavano PHP, e nonostante la creazione di nuovi tools e linguaggi, PHP è tutt'ora usato nella stragrande maggioranza dei siti web.
La mascotte di PHP è un grande elefante blu che si chiama “elePHPant”.
UNA RACCOMANDAZIONE DA PARTE DEL PADRE DI PHP
Una delle raccomandazioni che Rasmus sembra fare ad ogni conferenza e ad ogni suo collaboratore sia di “non perdere di vista che cosa state programmando, e il motivo per cui lo state facendo. Stiamo programmando per risolvere un problema. E si spera sia un problema che ha effettivamente un significato. Quindi lavorate su cose che hanno un significato per voi, per favore”.
Infine, pare che l'unico requisito che Lerdorf imponga ai propri futuri colleghi sia una conoscenza del funzionamento di C, in quanto C è alla base di praticamente tutto quello che esiste online, e Rasmus si dice un po' “scettico” di chiunque si dichiari programmatore senza una buona conoscenza di C.
Fonti: