../ Punti di Riferimento

L'altro giorno Antirez (Salvatore Sanfilippo) mi ha citato sul suo canale YouTube in uno short rispetto ad un video che avevo fatto sul ruolo del plaintext. Segue il link della cit.

Volevo spendere qualche parola per analizzare le sensazioni provate in merito. E vorrei farlo estendendo il discorso, per parlare dell'importanza dei punti di riferimento nel proprio percorso di crescita.

Buona lettura!


Essere menzionati da Antirez mi ha fatto molto piacere. Mi ha fatto piacere perché seguo il suo lavoro, leggo ciò che scrive, guardo ciò che pubblica (quando si trova il tempo), ed in generale, nel corso di questi anni, ha avuto un suo ruolo nella mia formazione.

Anni fa lessi Wohpe, il suo primo libro sci-fi. Una storia che mi ha fatto pensare molto ai legami tra tecnologia e natura, ed al modo in cui un potenziale mondo futuro potrebbe sembrare nel momento in cui l'AI si dovesse sviluppare in modo capillare nella società. Cosa che tra l'altro, dalla pubblicazione del libro, sta in parte avvenendo. Ci avevo pure fatto un video al riguardo!

Penso che il piacere sentito sia conseguenza della stima che io ho di lui, ed al valore che associo al suo lavoro, ed al suo modo di comunicare: diretto, semplice, ma che non si spaventa dal trattare tematiche complesse. È possibile percepire, nei suoi discorsi, una voglia di condividere, che semplifica ciò che può essere semplificato, senza però ridursi alla banalizzazione delle idee. Questa è una caratteristica rara da trovare nelle persone.

Mi sono dunque messo a pensare: quanto importante è avere dei punti di riferimento? E cosa succede in mancanza di tali figure?

Le mancanze sono difficili da analizzare. È molto più immediato sentire il danno di una perdita. Sentire qualcosa che da un momento all'altro se ne va via, muore, o semplicemente si perde nel movimento caotico della vita. La perdita è basata sul confronto tra due realtà: quella del passato, e quella del presente. Certo, il passato non esiste più, ma c'è stato un giorno in cui il passato era il presente, è esistito, e questo ha un proprio significato, difficile da ignorare. Le cose che sono esiste hanno una propria ricchezza, anche nei ricordi. Sono dense di dettagli, specialmente se proviamo un forte legame emotivo verso l'oggetto perso.

Cosa è possibile dire invece di una mancanza? Le mancanze non sono cose che perdiamo nel senso più letterale del termine. Le mancanze sono cose che non ci sono mai state. Non le abbiamo mai avute. E dunque, in un certo senso, non le abbiamo mai perse. Posta in questo modo sembra che una mancanza sia, tutto sommato, meglio di una perdita. Eppure, penso sia proprio l'opposto, almeno certe volte. Certe volte, la mancanza è molto più terribile di una perdita. Perché nella perdita esiste pur sempre il ricordo. Nella mancanza, cosa c'è esattamente?

Consideriamo una persona che vuole imparare a programmare. Di chi fidarsi? Chi ascoltare? Sono domande terribilmente difficili queste, perché in ultima analisi non ci sono risposte corrette. La vita è, banalmente, abbastanza complessa da permette la presenza di modi diversi per approcciare i problemi. Questo vale sia in generale e sia nell'informatica.

Succede quindi che il principiante si affida ad una persona che sembra rispettabile e competente, e comincia ad imparare da questa persona. Si potrebbe pensare che non importa da chi si impara: alla fine l'informatica è una materia tecnica! Perché dovrebbe importare su chi si fa affidatamento esattamente? Questo è, in parte, vero, ma solo in parte. Conquistate le idee più semplici, le scelte diventano troppe, e per navigare la complessità c'é bisogno di una struttura e di una propria filosofia.

E così, la filosofia dell'insegnante passa allo studente. Questo passaggio non è completo e preciso. Ci sono tante imperfezioni nella comunicazione umana, anche assumendo la presenza di uno studente disposto a voler imparare esattamente la filosofia del proprio insegnante. Detto questo, le idee principali passano. E molto spesso rimangono. Non si evolvono. Non cambiano. Perché col passare degli anni si smette di imparare. È un processo lento, inevitabile, e parte della vita. Non avviene per tutti nello stesso modo, ovviamente, ma sono rari gli individui che continuano ad avere una mente aperta col passare dell'età.

E quindi, il principiante si iscrive all'università, e segue il corso di Ingegneria del Software, e si riempie la testa dei modi in cui il software "deve" essere sviluppato. E questo, inevitabilmente, lo rovina. Non ho dati da riportare, solo esperienza ed intuizione, ma ritengo che il modo in cui molto spesso si insegna a sviluppare codice all'università è molto poco utile, e molto spesso perfino dannoso.

Imparare infatti non è in modo assoluto una cosa positiva. Molto spesso impariamo solo a farci del male, in tanti modi diversi, alcuni più palesi di altri. E quando impariamo qualcosa, è difficile tornare indietro per ritornare ad essere "principianti".

Tutte queste parole per dire una cosa ovvia: è fondamentale scegliere i giusti punti di riferimento. Bisogna stare attenti a questa scelta. Bisogna sapere cosa stiamo scegliendo. Quali aspetti della persona stiamo scegliendo. Quanta ignoranza c'é nella nostra scelta e quali sono le emozioni ed i movimenti interni che ci spingono a farla. Banalmente, bisogna essere consapevoli della scelta.

E certe volte, in mancanza di punti di riferimento, dobbiamo imparare a sentire questa mancanza. Dobbiamo imparare a gestire la mancanza. Dobbiamo stare molto attenti: in presenza di una mancanza, non dobbiamo riempirla con il primo che passa. Dobbiamo valutare. Scegliere attentamente chi selezionare come punto di riferimento, e chi ignorare. Sono poche le persone che meritano questo. Non dobbiamo essere perfetti. Possiamo, anzi, dobbiamo, sbagliare. Pensare di aver trovato un punto di riferimento, per poi scoprire che in realtà è meglio di no, è meglio stare senza per un po'. Questo per dire che i punti di riferimento devono essere continuamente messi in discussione.

Antirez, ovviamente, non è il mio unico punto di riferimento. È un punto di riferimento significativo, da cui ho imparato molto e che mi insegnerà ancora molto altro. Ma non è l'unico. Per menzionarne un altro: Alexey Kutepov (aka Tsoding), è molto famoso per i suoi livestream di recreational progrmaming, in cui utilizza svariati linguaggi di programmazione per programmare tantissime cose diverse. Guardarlo programmare è una cosa bellissima, interessante, divertente e didattica allo stesso tempo. Se siete interessati, vi consiglio il canale YouTube in cui carica i VoD delle sessioni di streaming:

Un altro punto di riferimento è Casey Muratori, un game programmer americano che parla molto di performance, di alcune problematiche dell'approccio Object Oriented (OOP), e che anni fa iniziò la serie Handmade-hero, in cui ha mostrato lo sviluppo di un videogioco da zero, che oramai ha più di 600 episodi, dando vita al handmade-network.

Queste persone sono solo pochi esempi. Persone che possiamo guardare ed ammirare per il modo in cui vivono il loro lavoro, per gli artefatti che creano, e per tutto ciò che condividono con le persone. Ogni punto di riferimento è diverso e assume una diversa funzione. Alcuni sono più importanti di altri, ma tutti hanno un loro valore inestimabile. L'importante è conoscersi abbastanza per capire quali sono i propri punti di riferimento.

Bisogna utilizzare questi punti di riferimento per crescere e diventare più forti. Bisogna utilizzare le loro esperienze per potenziare le nostre. Ed in questo bisogna stare attenti a non trasformare questi punti di riferimento in divintà irraggiungibili. Anche perché, nella vita non dobbiamo raggiungere nessuno nello specifico. L'unica cosa che dobbiamo fare è scoprire il modo in cui noi vogliamo vivere e tirare fuori il nostro potenziale, trasformandolo in realtà.

Io stesso, in tutta sincerità, penso di essere un punto di riferimento per alcune persone. È da anni oramai che carico video su YouTube, e questa cosa non sta passando inosservata. Penso che la mia profonda voglia di conoscere l'informatica e la mia ancor più profonda voglia di documentare il processo, risvegliano in altre persone una qualcosa di simile. Un desiderio di conoscenza. O semplicemente il piacere di guardare qualcuno imparare.

È una sensazione inaspettata, quella di essere un punto di riferimento. È inaspettata perché nella mia intimità non mi sento particolarmente bravo o speciale. E non dico questo per un falso senso di umiltà. Lo dico con cognizione di causa. Non penso ci sia niente di speciale nella mie abilità di imparare l'informatica. Penso che ciò che mi caratterizza non è la mia abilità di imparare, ma la mia voglia di condividere. È questa voglia che mi ha spinto ad imparare a insegnare. È questa voglia, che mi spinge ad imparare. Imparare per condividere. Condividere comunicando. Questa è l'unica cosa che ha senso per me.

Tutto questo per dire un'ultima cosa: se oggi vi sentite incapaci, non date troppo peso alle vostre abilità del momento. Concentratevi in ciò che volete fare domani, lasciatevi guidare dal desiderio di imparare, sacrificate giornalmente il vostro essere a questa volontà, utilizzate i punti di riferimento per voi significativi, ed il tempo farà il resto.

Lo stesso Isaac Netwon, scrisse in una lettera a Robert Hook nel 1676

Se ho potuto vedere lontano è perché mi sono seduto sulle spalle dei giganti.

Questo è l'unico vero potere dell'umanità: la generazione della cultura, di generazione in generazione. Imparare da chi ha vissuto, scoprire cose nuove, e tramandarle a chi verrà domani.