Caro Giacomo, con tutto il rispetto, mi pare che assumere la fattibilità del programma politico che proponi (che, bada bene, io non metto in discussione in termini assoluti, anche se certo ne rilevo la difficoltà) sulla base di supposte abilità, caratteristiche o pratiche della categoria dei "programmatori" sia errato, o quanto meno azzardato, per due motivi. Il primo è che le dinamiche socio-politiche degli esseri umani non sono dei programmi per elaboratori, per quanto complessi. Ogni volta che qualcuno, da sinistra o da destra, dall'alto o dal basso, per i motivi più o meno nobili, ha costruito progetti di società basati su questo assunto, si è scontrato duramente con la realtà. Il secondo è che, in tutta franchezza e detto da uno che pur non essendo un programmatore professionista (la vita mi ha portato altrove) qualcosa dell'argomento ne capisce, l'attuale panorama tecnologico è desolante, per quanto attiene alle capacità della suddetta categoria di costruire sistemi complessi robusti e che molto banalmente facciano ciò che si suppone debbano fare - e parliamo di una complessità che è ordini di grandezza inferiore rispetto ai sistemi sociali più semplici. Dunque discutiamo pure senza preconcetti di ciò che gli europei dovrebbero fare nell'ambito di cui stiamo parlando (o altri nel caso) ma cerchiamo di mantenere un po' di lucidità e realismo su tempi, modi e mezzi. P.S.: nulla circa la mia opinione sui programmatori (categoria di cui per un periodo della mia vita ho fatto anche parte) presuppone che io abbia un'opinione particolarmente più elevata di altre categorie professionali, compresa quella di cui faccio parte attualmente. A presto, Andrea On Mon, Mar 18, 2019 at 12:27 AM Giacomo <giacomo@tesio.it> wrote:
On March 17, 2019 6:52:55 PM UTC, Andrea Glorioso <andrea@digitalpolicy.it> wrote:
Caro Giacomo,
vorrei ringraziarti per la tua risposta (anzi, le tue risposte) alla mia domanda, che a scanso di equivoci non voleva essere né sarcastica né sprezzante. Mi fa piacere tu l'abbia interpretata come un'onesta richiesta di capire meglio la tua posizione.
Sono un hacker. Rispondo sempre alle domande. Al massimo la risposta è "non lo so". Alla peggio è sbagliata (e mi aspetto che i miei interlocutori me lo facciano notare in modo chiaro ed inequivocabile).
So di non sapere, ma sono troppo curioso per perdere tempo a sembrare più furbo di quello che sono.
Quindi, se mi fai una domanda, io rispondo meglio che posso.
Anche se la tua domanda fosse state ironica o sprezzante, avrei risposto comunque.
La vita è troppo breve e c'è davvero troppo da imparare per perdere l'occasione di essere corretti.
Mi limito ad osservare che, come ebbe a dire un altro europeo eccellente (il generale Charles de Gaulle) si tratta di un "vaste programme". A differenza di de Gaulle non uso l'espressione per liquidare le tue idee, come pare il generale facesse spesso. Tuttavia, come de Gaulle (e molti altri) la uso per segnalare che per andare dal punto A al punto B, direi anzi nel nostro caso quasi al punto Z, bisogna avere coscienza dei rapporti di forza in campo, di ciò che è possibile nel breve, medio e lungo periodo, e di quali siano le opzioni "procedurali" concrete. Nel riflettere ulteriormente sui tuoi spunti, tengo questi aspetti ben presenti.
:-D
Sono un programmatore.
Una differenza fondamentale fra Matematica e Informatica è che per noi il tempo e lo spazio sono elementi fondamentali.
In un equazione non c'è un prima e un dopo. L'equazione è o non è.
In un algoritmo invece c'è un prima ed un dopo. Un programma in esecuzione esiste in uno spazio multidimensionale dinamico, fatto di heap, stack e program counter (ovvero l'istruzione corrente), ambiente di esecuzione (a sua volta multidimensionale), interrupts etc... in cui il tempo non scorre sempre nello stesso modo. Il codice del programma poi cambia nel tempo, rendendo necessario il versioning ed una complessa gestione dello stesso durante il processo di sviluppo. Per non parlare della organizzazione del codice, dei trade off fra incapsulamento e accoppiamento, della rapporto fra la dimensione dei pacchetti e la complessità dei rapporti di dipendenza. Oppure dei rapporti di dipendenza rispetto al materiale prodotto da terze parti: che sia software libero, open source o proprietario, qualunque dipendeza tu introduca in un software stabilisce un rapporto di potere e conoscere l'etica, la cultura e i processi di chi produce il componente da cui accetti di dipendere potrebbe essere persino più importante di leggerne il sorgente. Ma la cultura cambia col tempo e se non segui l'evoluzione di ogni singola dipendenza finisci per trovarti legato a persone spiacevoli. E vogliamo parlare di licenze? :-) O di sicurezza! Perché si parla di zero DAY? Perché anche in termini di sicurezza informatica il tempo di propagazione di un'informazione è fondamentale! Per questo si cerca di tenere certe vulnerabilità segrete coordinando la loro correzione fra diversi progetti (per la verità con scarsi risultati, segno che forse il problema è a monte... ma qui il discorso diventa tecnico e filosofico insieme... un'altra volta)
Tutti aspetti che hanno interazioni ed implicazioni complesse e profonde... e dinamiche!
Ogni IF moltiplica per 2 i possibili comportamenti del software. Ogni linea di codice aumenta la probabilità di bug.
Secondo te, come facciamo a gestire software da milioni di righe di codice? Come manteniamo la salute mentale? (E ti prego non dire in giro che non la manteniamo... piuttosto considerami un'eccezione! :-D)
Abbiamo un trucco.
Teniamo BEN CHIARO nella nostra mente L'OBBIETTIVO.
Un po' come Michelangelo con il David.
È questo che dobbiamo insegnare agli Europei. A gestire la complessità senza perdere la capacità di agire concretamente su di essa.
È questo che fanno i programmatori ogni santo giorno di lavoro.
So benissimo cosa intendi e hai ragione è un programma vastissimo. Ma fidati: sono meno "idealista" di quanto possa sembrare. Si può fare.
E per fortuna, in guerra ci si riesce ad organizzare più velocemente! A meno, ovviamente, di non essere in grado di vedere il nemico arrivare.
Grazie ancora per le tue riflessioni.
Dovere! ;-)
Giacomo
-- -- Andrea Glorioso Twitter: @andreaglorioso Facebook: https://www.facebook.com/andrea.glorioso LinkedIn: http://www.linkedin.com/profile/view?id=1749288&trk=tab_pro