← Tutti gli episodi
Copertina di Vivi, servi, muori: il modello che dimentica tutto
Stagione 25 · Episodio 003

Vivi, servi, muori: il modello che dimentica tutto

1 settembre 2026 5:20
0:00 5:20

Ciao, e benvenuto nella terza puntata della venticinquesima stagione. Nelle scorse puntate abbiamo visto PHP nato per il web, con il codice dentro la pagina. Oggi arriviamo al suo cuore tecnico, il tratto che lo distingue nettamente da Go e Node, e che è forse la cosa più importante da capire per capire davvero PHP: il suo modello di esecuzione. Un modello che si riassume in tre parole: vivi, servi, muori. È un modo di funzionare radicale e insolito, quasi opposto a quello dei server che abbiamo visto finora, e oggi capiamo come funziona e perché è così diverso.

Ripartiamo dal modello di Go e Node, per cogliere il contrasto, perché è illuminante. Ricordi come funzionano? C'è un programma che parte una volta, e poi resta vivo, in esecuzione, per lungo tempo, servendo una richiesta dopo l'altra senza mai spegnersi. È come un negozio che apre al mattino e resta aperto tutto il giorno, servendo tutti i clienti che entrano, restando sempre lì, sempre pronto, ricordando le cose tra un cliente e l'altro. Il programma vive a lungo, persiste, mantiene la sua memoria attraverso tante richieste. Questo è il modello dei server sempre vivi, ed è quello che abbiamo dato per scontato nelle ultime due stagioni.

PHP, nel suo modello classico, fa qualcosa di completamente diverso, e voglio che tu lo afferri bene perché è controintuitivo. In PHP, non c'è un programma che resta vivo a lungo. Invece, ogni volta che arriva una richiesta, parte un programma nuovo di zecca, appena creato, che non sa nulla, comincia da zero. Questo programma gestisce quella singola richiesta: elabora, costruisce la pagina, la consegna. E poi, appena finito, muore, svanisce completamente, dimenticando tutto ciò che ha fatto. Quando arriva la richiesta successiva, parte un altro programma nuovo di zecca, che ricomincia da capo, senza alcun ricordo di quello di prima. Nasci, servi una richiesta, muori: e da capo per ogni richiesta.

Voglio darti un'immagine che rende perfettamente questo contrasto, perché è vivida. Il modello di Go e Node è come un cameriere fisso, assunto a tempo pieno, che resta nel ristorante tutto il giorno e serve tutti i tavoli, ricordando chi ha già servito. Il modello di PHP è invece come assumere un lavoratore temporaneo per un singolo compito: arriva, fresco e ignaro, fa quell'unica cosa, e appena finito viene congedato e se ne va, dimenticando tutto. Per il compito successivo, si assume un altro lavoratore temporaneo, nuovo, che ricomincia da zero. Non un dipendente fisso con la sua memoria, ma un lavoratore usa e getta per ogni singola richiesta. È un modello davvero diverso.

Voglio soffermarmi sull'aspetto più sorprendente di questo modello: il dimenticare tutto. Ogni programma PHP, alla fine della sua breve vita, dimentica completamente tutto ciò che ha fatto e saputo. Non passa nulla al programma successivo. Ogni richiesta parte da una tabula rasa, da un foglio bianco, senza alcun ricordo delle richieste precedenti. È come se, a ogni richiesta, il mondo ricominciasse da zero. Questo dimenticare radicale, questo non conservare nulla tra una richiesta e l'altra, è il tratto più caratteristico e insolito del modello di PHP. E, come vedremo nella prossima puntata, non è affatto un difetto: è, sorprendentemente, una delle sue più grandi forze.

Voglio anticiparti perché questo dimenticare, che sembra uno svantaggio, sia in realtà geniale, perché è il cuore delle prossime puntate. Verrebbe da pensare: ma che spreco, ricominciare ogni volta da zero, non ricordare nulla. E invece questo modello ha vantaggi profondi. Se ogni richiesta è un mondo a sé, che nasce e muore isolato, allora le richieste non possono disturbarsi a vicenda, non c'è memoria condivisa che si possa corrompere, non ci sono i pasticci della concorrenza di cui abbiamo parlato. È un modello di una semplicità e di una robustezza sorprendenti, proprio grazie al fatto che non condivide e non ricorda nulla. Ma questo è il tema della prossima puntata: oggi tieniti il modello, vivi, servi, muori.

Voglio chiudere completando il confronto a tre, perché ora è completo e bellissimo. Abbiamo tre modelli diversi per servire le richieste del web. Go: tanti lavoratori leggeri, tutti vivi a lungo insieme. Node: un solo lavoratore, vivo a lungo, che non aspetta mai. E PHP: nessun lavoratore vivo a lungo, ma uno nuovo e temporaneo per ogni richiesta, che muore subito dopo. Sono tre filosofie radicalmente diverse, tre risposte alla stessa domanda. Go e Node tengono i lavoratori vivi e li fanno lavorare tanto; PHP li crea e li distrugge di continuo, uno per richiesta. Nessuna è giusta in assoluto: sono compromessi diversi, e nelle prossime puntate capiremo perché quello di PHP, per il web, ha molto senso.

Per oggi ci fermiamo qui. Il cuore tecnico di PHP è il suo modello di esecuzione, riassumibile in tre parole: vivi, servi, muori. A differenza di Go e Node, dove un programma resta vivo a lungo e serve tante richieste ricordando le cose, in PHP ogni richiesta fa partire un programma nuovo di zecca, che la serve e poi muore, dimenticando tutto, come un lavoratore temporaneo assunto per un singolo compito e subito congedato. Ogni richiesta parte da un foglio bianco, senza ricordi. Questo dimenticare radicale sembra uno svantaggio, ma è in realtà una grande forza, come vedremo. È la terza risposta, dopo Go e Node, alla sfida del web. Nella prossima puntata scopriamo perché dimenticare è un dono. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.