CodeFest 2021: una grande manifestazione per capire come funziona il digitale

di Stefano Penge

Digitale ovunque. Nella scuola, nel lavoro, nel divertimento.
Digitale come servizio, come risorsa a disposizione di tutti, appena girato l’angolo di Google.

Tempo fa [1] scrivevo che ci sono tre miti che circolano sulla rete: 1) che sia un ambiente naturale, 2) che le risorse che offre sono gratuite e 3) che siano infinite. Un supermercato infinito, con scaffali pieni di ogni ben di dio, senza nessuno alla cassa. Tanta formazione alla “didattica digitale” si poggia proprio su questi miti.

C’è ancora chi proprio non riesce ad adeguarsi al flusso mainstream e si domanda: cosa rende possibile tutto questo?  I computer, certo, i cavi e i satelliti, senz’altro. Ma cos’altro c’è, sotto la superficie?
In un senso, sotto ci sono interessi, soldi, potere, che governano questo come altri campi, con buona pace di chi vedo solo futuri rosei in cui intelligenze artificiali e persone andranno a braccetto. Non è per amore della condivisione della conoscenza che possiamo fare ricerche, scambiarci email, tradurre, condividere agende, parlarci a distanza. Ed è curioso che quasi nessuno – in un mondo così attento al profitto, alla conquista di ogni possibile mercato – metta in questione tutta quest’abbondanza di risorse gratuite; non solo quelle create e condivise da docenti-artigiani di buona volontà, ma anche quelle che richiedono enormi centri di calcolo solo per essere distribuite. Cosa ottengono le grandi imprese in cambio di questi servizi gratuiti? Da dove traggono le risorse economiche per restare in piedi? Per quanto tempo questi servizi resteranno gratuiti?

In un altro senso, sotto tutti questi servizi c’è il codice sorgente: un testo che fa funzionare i computer, raccoglie e trasforma dati, inventa mondi e connette persone. Anche oggi, nell’era delle interfacce ammiccanti, dei podcast, dei videotutorial, quello che c’è sotto è sempre un testo. Proprio così: solo lettere, numeri e segni di interpunzione, perché è di questo che sono fatti tutti i programmi che fanno girare il mondo, dagli smartphone ai satelliti.

Oggi, molto più di ieri, siamo letteralmente (!) immersi in un mondo di testi. Solo che non lo sappiamo, o non vogliamo saperlo.  La superficie è molto più rassicurante. Secoli di divisioni tra tecnica e umanesimo, tra estetica ed etica ci hanno abituato a disinteressarci di quello che c’è sotto il cofano della macchina. Il design dei dispositivi che ci rendono possibile lo stile di vita occidentale punta a nascondere sotto superfici lisce, dai colori tenui, tutto quello che potrebbe disturbarci perché ci ricorda che non lo capiamo.

Perché questi testi che governano il nostro mondo sono incomprensibili per il 99,6% della popolazione mondiale (oggi ci sono circa trenta milioni di programmatori nel mondo, che su 8 miliardi di abitanti del pianeta circa fa appunto lo 0,4 %). Questi trenta milioni sono gli unici esseri umani in grado di verificare (leggendolo) cosa fa un programma. Se, per ipotesi, venissero tutti sostituiti da software in grado di programmare al loro posto,[2] avremmo un mondo perfetto di cui non saremmo più in grado di riprendere il controllo. Questo secondo senso si incastra perfettamente col primo: se otteniamo tutto quello che ci serve gratis, non c’è più bisogno di capire come funziona.

Ma sapere cosa davvero c’è sotto è importante anche per avere una conoscenza di una parte di attività umana che ci sfugge. Il codice sorgente non è fatto di 0 e di 1, come ancora si legge da qualche parte, magari sottintendendo che siccome usano un codice binario i computer possono scegliere solo tra due cose, bianco e nero: insomma sono stupidi. Sarebbe come dire che le lingue umane sono composte solo da suoni.  0 e 1 sono le lettere di un alfabeto, con il quale si compongono parole, frasi, testi e intere biblioteche. Non è vero che computer capiscono solo 0 e 1: non li capiscono affatto. Invece capiscono istruzioni complesse, descrizioni di situazioni,  condizioni, specifiche di azioni, purché appartenenti ad uno degli ottomila linguaggi di programmazione oggi esistenti, e rappresentate con l’alfabeto più semplice possibile: quello appunto a due simboli.

Quando oggi gli esseri umani scrivono il codice sorgente di un programma non usano 0 e 1, né quelle strane parolette incomprensibili (MOV, PTR, JMP) che sono solo delle etichette più facili da ricordare per ordinare al processore di spostare dati da un registro all’altro. I linguaggi che si usano oggi sono flessibili, complessi.  Permettono di scrivere regole e fatti, di definire funzioni, di costruire classi di oggetti che ereditano conoscenze.  Non sono nemmeno tutti ispirati all’Inglese, come ancora qualcuno crede: ci sono linguaggi basati sul francese, sul finnico, sull’arabo, sul giapponese.

I linguaggi di programmazione vengono inventati continuamente, a differenza delle lingue naturali. Spesso un linguaggio viene inventato per fornire ai programmatori uno strumento più veloce e pratico, o  più flessibile e potente; a volte per  fornirne uno più elegante e piacevole. Perché i linguaggi sono creati da esseri umani per altri esseri umani, non per i computer. Tant’è che ci sono linguaggi inventati per gioco, per divertimento, per mostrare quanto si è intelligenti e sfidare gli altri, ed hanno nomi come Malebolge, Shakespeare, LOLCAT, Chef o Cow. Questa classe di linguaggi, detti pomposamente “esoterici”, sono praticamente inutili, ma svolgono una funzione puramente estetica, alla faccia di chi sostiene che l’informatica è una tecnica senz’anima. L’esistenza di questi linguaggi dice anche molto sul fatto che gli esseri umani riescono a divertirsi anche facendo le cose più serie, e non resistono a prendersi in giro da soli.

Anche i codici sorgenti non sfuggono a questa legge: i testi dei programmi non sempre sono “algoritmi codificati in un linguaggio per risolvere un problema”, come vorrebbero i manuali. Ci sono programmi che non risolvono nulla, ma sono opere d’arte, scherzi, poesie. Sì, poesie: perché l’estetica si infila in ogni attività umana, in particolare quando si mette di mezzo un linguaggio.

Certo viene la curiosità, soprattutto per una scuola che ospita iniziative di Coding e che propone l’apprendimento del pensiero computazionale per preparare le generazioni future di programmatori (o almeno così pensa): ma chi sono allora questi programmatori? Sono sacerdoti della Macchina Divina che si aggirano in camice bianco? Sono hacker quindicenni e brufolosi che scatenano guerre nucleari spiattellando  i segreti della CIA? Sono nerd bianchi etero che vivono solo per schiacciare tutti gli altri con la forza della loro conoscenza  ultra-specialistica? Questi sono i luoghi comuni che costituiscono il nostro immaginario collettivo e che provengono dal cinema e dalla letteratura di fantascienza. Ma i programmatori sono anche altro: sono ragazzini e vecchietti, cinesi e russi, donne (poche, purtroppo) e altri generi, geni e principianti, creativi e precisini. Scrivono in maniera diversa, anche per ottenere lo stesso risultato, in base alla loro storia, alla loro lingua madre, alle preferenze stilistiche, alla fase della loro vita. Esattamente come ciascuno di noi scrive diversamente un messaggio d’amore e una velenosa lettera all’amministratore di condominio.

Il fatto è che ancora se ne sa poco: è un campo che non è studiato allo stesso modo, poniamo, di quello della letteratura tradizionale. Non esiste una “sociolinguistica” del codice sorgente.
Di tutti questi temi  si occupa CodeFest 2021, il festival online che si apre il 27 Settembre e si chiude l’8 ottobre. Un Festival unico al mondo, organizzato insieme dall’Università di Torino e dall’associazione Codexpo.org. Riflessioni, concerti, spettacoli, laboratori in cui si affrontano l’estetica digitale,  la conservazione del patrimonio, le sfide sociali, le infinite possibilità della scrittura. Tutto per cercare di sfatare il mito della programmazione come roba da macchine, per cercare di raccontare un’altra avventura dell’umanità alla ricerca della perfezione.

Per saperne di più e per partecipare
Calendario aggiornato
Form per registrarsi e partecipare al festival

[1] Le tre fallacie della rete, in  “Una scuola per la cittadinanza. Volume 2: Gli orizzonti di senso”, a cura di Mario Ambel. PM Edizioni, 2020,  pagg. 178-184.

[2] Come provo a raccontare in La fine della formazione, https://www.stefanopenge.it/wp/?p=912