Sotto il vestito, il codice

Digitale ovunque. Nella scuola, nel lavoro, nel divertimento.

Digitale come servizio, come risorsa a disposizione di tutti, appena girato l’angolo di Google.

Tempo fa1 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: ecco qui un sito per fare i cruciverba, ecco una app per i quiz, ecco una collezione di sfondi animati.

C’è ancora chi proprio non riesce ad adeguarsi al flusso mainstream e si domanda: cosa rende possibile tutto questo? Facile: i computer, prima di tutto, poi i cavi e i satelliti, senz’altro. Ma cos’altro c’è, sotto la superficie?

In un primo senso, sotto ci sono interessi, soldi, potere, che governano questo come altri campi, con buona pace di chi vede solo futuri rosei in cui intelligenze artificiali e persone andranno a braccetto. Non è grazie all’amore della condivisione della conoscenza che possiamo fare ricerche, scambiarci email, tradurre, condividere agende, parlarci a distanza senza spendere un euro. 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. E questo non è tanto strano in una cultura in cui il paradigma dominante è ancora il libro scritto.

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, morbide, 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, senza capire le sottigliezze, le sfumature: insomma sono stupidi. Sarebbe come dire che la lingua italiana è composta solo da una trentina di suoni e quindi non può esprimere più di trenta concetti. 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 purché rappresentate con l’alfabeto più semplice possibile: quello appunto a due simboli. Sotto sotto il punto importante non è l’esistenza di due soli simboli, ma che i computer usino una logica a due valori per eseguire un algoritmo semplice come: “se questo valore è maggiore di 37 fai questo, altrimenti fai quest’altro” o uno più complesso, come quello che riconosce un viso. Qui però i computer digitali c’entrano poco: anche i primi computer, che erano analogici, si basavano sulla cosiddetta algebra di Boole (1847), che ha solo due valori. Dietro all’idea di effettuare un calcolo per decidere la verità di una proposizione c’è il neopositivismo, le tavole di verità del primo Wittgenstein, e poi indietro Leibniz, e poi Ramon Llull, e indietro “Sic et non” di Abelardo, e ancora prima le Confutazioni Sofistiche di Aristotele, fino alla dicotomia di Parmenide tra l’Essere e il non Essere. E il fatto che usino una logica a due valori non impedisce affatto ai software di produrre risultati con un grado di certezza limitato o valutazioni probabilistiche.

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 cinese.

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 è occupato CodeFest 2021, il festival online che si è svolto tra il 27 Settembre e l’8 ottobre 2021. 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.

Altre informazioni, ma pure le registrazioni degli eventi, le potete trovare su https://codexpo2021.lynxlab.com .

1Le 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.

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


Pubblicato

in

, ,

da

Commenti

Lascia un commento