Attenzione: questo è un post decisamente da nerd, consiglierei pertanto a chi non ha mai trascorso intere serate a giocare a Space Invaders o a chi non sa convertire un binario in decimale di astenersi dalla lettura.
Con grande stupore ho scoperto l’altro giorno che tra le “novità” introdotte nell’ultima versione del linguaggio PHP c’è il comando “goto”. Sì, avete capito bene: il comando “goto”, l’elemento fondamentale della famigerata programmazione spaghetti-like, l’oggetto dell’anatema di Dijkstra, l’innominabile scheletro nell’armadio dell’informatica, seppellito sotto tonnellate e tonnellate di elegantissimo codice a oggetti. Non abbastanza in fondo, a quanto pare.
Non voglio soffermarmi ora sui motivi che hanno spinto gli sviluppatori del PHP a includere questa “innovazione” nel linguaggio, sono convinto che si tratti di un comando obsoleto e tutto sommato superfluo, considerati gli attuali paradigmi di programmazione. Devo dire però che imbattermi nel comando “goto” è stato come ritrovare un vecchio amico d’infanzia che non si incontra da tanti anni, è stato come un viaggio all’indietro nel tempo (a tal proposito rimando alla fantastica striscia di xkcd.com, che è persino riportata sulla pagina del manuale PHP dedicata al comando “goto”!).
In un batter d’occhio sono tornato indietro agli anni ’80, immerso in quell’atmosfera colorata e roboante, decisamente kitsch ma in fondo allegra e scanzonata. Mi sono ritrovato, insieme a mio padre e mio fratello, davanti al TI-99/4A, il nostro primo “home computer” (il concetto di “personal computer” non esisteva ancora), intenti a copiare da una rivista (l’indimenticabile Paper Soft) il lunghissimo listato di un programma in BASIC. Sembra inconcepibile ora, eppure non è passato poi così tanto tempo: stavamo lì a copiare centinaia e centinaia di righe di codice, senza avere la minima idea di cosa sarebbe venuto fuori una volta dato il comando “RUN”, per poterci poi stupire magari guardando una pallina quadrata che rimbalzava sui bordi dello schermo. Eppure quella era la felicità.
Non potevo certo immaginare che quei lunghi e perlopiù incomprensibili elenchi di comandi stavano gettando un seme dentro di me, che avrebbero inciso così tanto sulla mia vita futura. Ero ingenuo allora, ero ignaro: scrivevo pessimo codice, ma non lo sapevo. Il solo fatto di poter parlare la lingua dei computer mi faceva sentire come l’iniziato di un culto misterico. Poi sono cresciuto, qualcuno mi ha detto che sbagliavo, che il comando “goto” è il male e che il BASIC è un linguaggio per bambini, meglio evitare di dire in giro che lo conosci. Ho imparato a fare le cose in modo diverso, gli anni sono trascorsi.
Poi un giorno inaspettatamente ti imbatti di nuovo nel vecchio comando “goto”, come un dinosauro scoperto in una valle perduta. Sono passati tanti anni eppure fa ancora egregiamente il suo dovere: interrompe immediatamente il flusso dei tuoi pensieri e ti riporta indietro di trent’anni. Salto incondizionato. Goto ’80s.