Programmare e interagire con le macchine, tra realtà e fantascienza
Spesso cinema e letteratura hanno anticipato i progressi della tecnologia. Da Hugh Jackman hacker in Codice: Swordfish fino a Electric Dreams, ecco cosa è ormai normalità e cosa invece resta relegato agli schermi
TECNOLOGIA – La fantascienza spesso anticipa le scoperte scientifiche, talora in modo sorprendentemente preciso, di decine o centinaia di anni: è il caso del Nautilus o dei veicoli spaziali di cui narra Jules Verne nei suoi racconti ottocenteschi, o ancora delle molte profezie tecnologiche contenute in alcuni capolavori della cinematografia e letteratura di genere, come 2001: Odissea nello spazio.
Ne avevamo parlato in questo articolo, sottolineando anche gli inevitabili effetti del cosiddetto “retrofuturismo” legati al contesto storico in cui l’opera fantascientifica è stata concepita. Quando poi il focus si sposta sui sistemi informatici – e sul loro utilizzo da parte di esperti o hacker – in molti film la creatività degli autori si spinge ben al di là delle possibilità tecniche contemporanee. Il che consente di mettere in scena delle vere e proprie trovate futuristiche, che possono precorrere i tempi o addirittura ispirare sviluppatori di nuovi dispositivi e interfacce.
Passiamo in rassegna alcuni casi particolarmente rilevanti, cercando di capire quanto sia matura la tecnologia odierna rispetto all’idea del film e se ci sono possibili direzioni di indagine nelle ricerche scientifiche in corso per condurci un giorno alla realizzazione di scenari simili.
Partiamo da un titolo molto noto del 2001, Codice: Swordfish, in cui l’eroe di turno, Stanley Jobson (interpretato da Hugh Jackman), è un vero e proprio asso del computer hacking. Jobson viene assoldato dai servizi segreti per penetrare un sistema informatico super segreto che custodisce un fondo, usato per corrompere politici e pubblici funzionari. In una famosa scena del film, Stanley è alle prese con la creazione di un virus informatico, che prende forma quasi in modo autonomo sullo schermo del pc, mentre il nostro eroe sembra battere tasti più o meno a caso, abbandonandosi ad esclamazioni di entusiasmo ed esultanza per quello che sta creando.
La scena è assolutamente inverosimile per l’epoca del film – più di quindici anni fa, quando Internet stesso era ancora relativamente poco diffuso -. Ma oggi? Grazie all’avvento dell’intelligenza artificiale e del machine learning, non sembra più un’impresa troppo irrealistica sviluppare algoritmi in grado di creare o modificare il loro stesso codice: quindi, una scena che poteva apparire solo comica o folkloristica per un programmatore old style, si dimostra anticipare con una certa efficacia delle tecnologie ormai disponibili.
Passiamo poi a Electric Dreams (1984), il cui vero protagonista è un computer ribattezzato Edgar, al quale il proprietario – innamorato perso di una vicina di casa – chiede un giorno di comporre una melodia d’amore da dedicarle. Assolutamente inverosimile per l’epoca (in effetti, il brano è, in realtà, dei Culture Club) ma, dopo più di trent’anni, oggi sarebbe fattibile: nell’ambito del progetto Magenta di Google, ad esempio, è stata creato un algoritmo in grado di comporre musica a partire da una combinazione di note proposte da un operatore umano, o addirittura di eseguire delle jam session, ossia vere e proprie improvvisazioni musicali su un tema.
In una celeberrima saga amatissima dai fan del genere fantascientifico, Star Trek (di recente tornato sugli schermi con Discovery), vengono proposte quasi in ogni puntata idee e tecnologie visionarie, che hanno ispirato anche molti fisici e ingegneri dei nostri tempi per creazioni avveniristiche. In uno dei film, Star Trek IV: Rotta verso la Terra (1986), l’eroico equipaggio della nave stellare Enterprise, capeggiato dall’indomito James T. Kirk, sfrutta l’effetto leva della gravità solare (!) e si trova catapultato nella San Francisco del 1986, nel tentativo disperato di salvare il mondo del futuro, il cui destino dipende (non sveliamo perché per evitare spoiler) dalla sopravvivenza delle balene.
In una delle scene il capo ingegnere Scotty è alle prese con un computer dell’epoca, che deve usare per sintetizzare un nuovo materiale non ancora scoperto, l’alluminio trasparente. Dopo qualche comico tentativo di usare l’elaboratore come se fosse munito di una interfaccia vocale si adatta ad usarne la tastiera e, in pochi secondi, fa apparire sullo schermo la molecola fatta e finita. Anche con i comandi vocali ci troviamo di fronte a una tecnologia che all’epoca non era matura, mentre oggi è diffusa su vasta scala: basta pensare al comando ‘Ok Google’, che sveglia e mette in attesa di comandi o richieste gli smartphone Android.
Restando al tema delle interfacce, in un altro film, stavolta di Steven Spielberg, Minority Report (2002), il capitan John Anderton interpretato da Tom Cruise è il responsabile della sezione Precrimine: basandosi sulle premonizioni di tre “Precog”, individui con poteri extrasensoriali, la polizia individua e arresta gli omicidi ancor prima che possano commettere il crimine.In una delle scene Anderton usa alcune suggestive tecnologie che – non certo disponibili all’inizio del 2000 – sono rappresentate come normale dotazione delle forze di polizia del 2054. Una è la cosiddetta gesture based user interface, tramite la quale l’utente interagisce con le macchine usando gesti delle mani, ed è disponibile già da almeno un paio d’anni. Dove? Ad esempio sulle vetture della casa automobilistica BMW ma sarà sempre più diffusa nel prossimo futuro, visto che consente di eliminare touch screen o tastiere per il controllo dei dispositivi.
Tuttavia, ancora al giorno d’oggi, alle interfacce vocali e ai sistemi di riconoscimento gestuale sono spesso preferiti i tradizionali mouse e tastiera; questo nonostante la potenza delle interfacce grafiche e il livello di astrazione dei linguaggi di programmazione siano cresciuti molto rispetto anche a soli dieci anni fa. Oggi un programmatore ha a disposizione una serie di tool che gli consentono di evitare la programmazione “di basso livello”, lo strato più vicino al linguaggio macchina, componendo ad esempio blocchi o usando librerie di codici già disponibili e lasciando al sistema automatico l’incombenza di generare il codice che realmente verrà utilizzato nell’applicazione. In questo video, ad esempio, un ingegnere software di Google illustra alcuni degli aspetti principali della programmazione odierna, mostrando come appaiono nella realtà le schermate usate dagli sviluppatori.
Per concludere, citiamo un’altra pietra miliare del genere fanta-tecnologico, Wargames (1983), in cui il protagonista, un teenager dalle mirabolanti doti informatiche, ispirato assai probabilmente alla figura di Kevin Mitnick detto “il Condor”, in una delle scene più famose interagisce con un computer destinato ad operazioni strategiche, il WOPR, usando un’interfaccia vocale. Fin qui, nulla di particolarmente rilevante, vista la presenza nella letteratura e cinematografia di genere di questa tecnologia anche diversi decenni prima (vedi Star Trek).
L’aspetto più suggestivo in questo film, tuttavia, è che il computer Joshua viene condotto “per mano” in una sorta di processo di apprendimento rapido, con lo scopo di farlo pervenire ad una stadio di “consapevolezza superiore” riguardo all’impossibilità di vincere alcuni giochi e, di conseguenza, all’inutilità e assurdità di una guerra totale. Su questo argomento, ossia sul tema dello sviluppo di macchine eticamente consapevoli, non c’è oggi in senso stretto alcuno strumento di sviluppo disponibile. Possiamo dire che tuttora si brancola nel buio, o quasi.
segui Gianpiero Negri su Twitter
Leggi anche: MUSE, la mostra sul genoma umano e la nostra unicità
Pubblicato con licenza Creative Commons Attribuzione-Non opere derivate 2.5 Italia.