Piccoli Schrödinger crescono: il credente e l’Option<T>

È che volevo scrivere di linguaggi di programmazione, stavo raccogliendo materiale mentale per il prossimo post di quella serie, ma è anche Pasqua … insomma, mi si sono incasinati i concetti e ne è venuta fuori una cosa tecno religiosa.

Dallo spaghetti like programming all’Option<T>

Stavo riflettendo su questo Option<T>. È una piccola perla apparsa in linguaggi di programmazione piuttosto recenti 1. E’ un modo di gestire l’incertezza. Giusto un esempio, per capirsi. Supponete di dover scrivere un programma che regola un termostato, quello che deve fare è semplice: leggere la temperatura da un sensore, confrontarla con la temperatura impostata dall’utente e accendere o spegnere la caldaia in funzione del risultato del confronto. Ma nel mondo reale niente va come previsto: il sensore di temperatura potrebbe essere difettoso, ad esempio, o rotto o non esserci proprio, e il nostro povero programma il valore della temperatura potrebbe non riceverlo. È necessario quindi un controllo e questo controllo porta a diramazioni. In pratica ad ogni passo il programma dovrebbe chiedersi se tutto sta andando come previsto e, eventualmente, prendere direzioni diverse. In breve diventa illeggibile per i troppi rami di cui tenere conto.

Così nasce l’Option<T>. Si tratta semplicemente di una scatola che può contenere un valore oppure no. Ma questa scatola può essere usata per fare operazioni. Ad esempio posso prendere la scatola “Option<temperatura>”, che contiene il valore del sensore oppure no, e confrontarla con un 20 gradi e produrre la scatola “Option<accendi-o-spegni-la-caldaia>” e quest’ultima può essere vuota o contenere l’azione da fare. Alla fine posso aprire la scatola e se è piena eseguire l’azione. Se è vuota dico “pazienza” e magari segnalo la cosa a qualcuno.

Insomma l’informatica impara a lavorare con l’incertezza.

Io credo che sarebbe sano applicare un principio analogo all’esistenza di Dio.

Non c’è nessun modo, per un essere umano, di stabilire con certezza né che Dio esista né che non esista. È una scatola chiusa, che non apriremo noi. Forzarne l’apertura, e pronunciarsi sul suo contenuto, si chiama fanatismo. Possiamo decidere che sia piena o che sia vuota, ma in ogni caso stiamo facendo una scemenza: non era in nostro potere pronunciarci. Aprire la scatola è cercare la rissa, è cercare un gruppo di cui sentirsi parte o qualcuno di parte opposta da combattere.

Il punto è che siamo tutti pazzi

Ci presentiamo all’esterno come un’unica persona, anzi, come una personalità, un’astrazione di persona, quasi definita a tavolino, ma all’interno siamo vulcani in piena attività, arene su cui decine di pulsioni, esigenze, abitudini, paure, dipendenze, lottano per prendere il sopravvento e prendere la decisione del momento presente. Ma la nostra vita sociale non sarebbe possibile se ognuno di noi non proiettasse all’esterno una facciata coerente, stabile, affidabile. Abbiamo bisogno di catalogare gli altri, ridurli a concetti gestibili, e perché sia possibile gli altri devono presentarsi a noi (e di conseguenza noi a loro) con un avatar prevedibile, affidabile, coerente.

L’ipocrisia, come il pettegolezzo, non sono difetti in sé, hanno una precisa funzione nella costruzione della società, ma è importante mettere a fuoco questa loro funzione e non esserne vittime noi stessi. Invece spesso cadiamo nell’equivoco di credere di essere davvero questa finzione che costruiamo ad uso sociale: no, noi siamo altro, ben più complessi e imprevedibili di quello che vogliamo far credere.

La scatola del dubbio

Il problema, riguardo alle nostre convinzioni più profonde e’ che vogliamo inserirle in questo profilo pubblico, quello con cui ci presentiamo agli altri: vogliamo dire “io sono cristiano”, “io sono buddista”, “io sono ateo” per poter far parte di quel particolare gruppo: fingiamo di conoscere il contenuto della scatola, ma di fatto, razionalmente, nessuno può farlo.

Potremmo fare tutto quello che facciamo o non facciamo, potremmo fare del bene o fare del male, impegnare il nostro tempo approfondendo temi filosofici e religiosi o ubriacarci alla follia conservando la nostra sana dose di dubbio.

L’essenza del fatto religioso appartiene al vulcano, al tumulto interiore che processa senza sosta emozioni e ogni tanto fa affiorare alla coscienza l’aver notato qualche “coincidenza” importante, qualche eco di un assoluto che ci parla, la filigrana di un disegno di cui, per un attimo ci sentiamo parte. E tutto questo avviene all’interno della scatola del dubbio, non abbiamo bisogno di aprirla.

Secondo me fingere di conoscere il contenuto della scatola Option<Dio> e’ follia non solo per i Gentili, come diceva Paolo di Tarso, ma anche per i credenti.

Buona Pasqua.

(P.S. Il roveto ardente della foto è solo quello su cui ho appena grigliato le costine.)

  1. Ce l’hanno, ad esempio, Scala e Rust, in Swift si chiama Optional, ma e’ la stessa cosa.