CAPIRE L’INFORMATICA : GLI ALBORI DEL XXI SECOLO
L’infornata di informatici di basso livello per la soluzione del Millennium Bug impose una standardizzazione del ruolo dei programmatori e sorse la UML, Unified Modeling Language, con cui si schematizzavano tutte le possibili problematiche in semplici Casi d’Uso. Nell’introduzione al libro gli autori della metodologia sostenevano che “non è più tempo di eroi del software”, curiosa scelta in un periodo in cui anche gli eserciti abbandonavano la leva di massa e si affidavano sempre di più a truppe di elite. D’altra parte anche nel complicato mondo della valutazione del costo del software era prevalsa già da alcuni anni una valutazione semplicistica, in cui si misuravano i dati esterni, quali il database, le interfaccia, le stampe nella metodologia Function Point, che poi manteneva una grande approssimazione e veniva pilotata dalla sensibilità dell’analista. Io sostenevo, ironicamente, che il bottone per stampare il modulo delle tasse era equivalente al bottone con cui Il presidente degli Stati Uniti può scatenare la guerra termonucleare. Ma il disprezzo degli analisti e dei manager verso il lavoro sul software aveva portato a queste assurdità. Intanto i prezzi delle CPU e delle memorie RAM, nonché dei dischi erano scesi a tal punto che con lo stesso costo di un computer di due anni prima si potevano ottenere oggetti con potenzialità mille volte superiori. Ben presto nelle memorie RAM si superò il limite teorico precedente e siamo arrivati a memorie di alcuni Gigabyte, mentre i dischi, tranquillamente, arrivano ad alcuni Terabyte, cioè migliaia di miliardi di informazioni. Contemporaneamente si era sviluppata internet, cioè la possibilità di collegare i vari computer con una rete informatica che passasse velocemente le informazioni da un computer all’altro, sostituendo alla gerarchia client-server una distribuzione di computer, i nodi della rete, con potenzialità equivalenti. All’inizio era una tecnologia militare, ben presto divenne il pane quotidiano degli utenti del computer. Rimase lo schema client – server, ma il client, sul computer del l’utente finale, non aveva bisogno di particolari programmi locali per far funzionare i programmi che stavano sul server, sorsero alcuni programmi generalizzati, i browser, che potevano far vedere i programmi e i dati sul server con una interfaccia standard. Quindi fu possibile per ognuno avere un server da cui fare la propria pubblicità e segnalare la propria presenza nel mondo: sorse il sito. Ognuno cominciò ad avere un sito, prima per scopi pubblicitari e poi con diretta funzione di vendita. L’e-commerce, che sostituiva egregiamente la vecchia tecnologia dei cataloghi inviati per mezzo postale, quali il Postal Market e altri equivalenti, che, ovviamente, sono scomparsi dal mercato. L’accesso ai vari siti era ottenuto da una parola chiave composta da tre parti, la prima,” www” era comune a tutti, la seconda era personalizzata con nome scelto dalla persona o dall’azienda, la terza, il suffisso, indicava quale categoria di sito fosse e la sua nazionalità, oltre ad indicare il “dominio”, cioè lo spazio acquistato su un server che avesse certe caratteristiche per garantire la funzionalità del sito. Ma a questo punto la tecnologia era ancora limitata: non bastava distribuire coi biglietti da visita il nome del proprio sito, doveva essere possibile fare una ricerca dei siti che si occupavano di un certo argomento, siano le motofalciatrici, le automobili o le notizie del giorno. Sorsero così i motori di ricerca, che, con imponenti archivi, riuscivano a soddisfare questa esigenza in tempi di risposta brevissimi. Pen presto tra i motori di ricerca Google assunse una posizione di predominio nel mercato. Da un punto di vista aziendale la scelta client-server si affinò e si giunse alla soluzione cloud, propagandate con nuvolette bianche in un cielo azzurro, con una visione paradisiaca simile alla propaganda di un noto caffè. Infatti il server veniva spostato dall’azienda in questi server “cloud”, che potevano stare anche in altre nazioni, dove convivevano gli spazi acquistati dai vari clienti, con notevoli vantaggi organizzativi, il cliente poteva fare a meno dell’odiosa categoria dei sistemisti informatici, che tra backup, salvataggi, gestione dei database e installazioni, detenevano le chiavi del potere in azienda. Oltretutto potevano accedere a questo servizio anche ditte più piccole e privati che non avevano mai avuto dipendenti informatici, ma che si arrangiavano da soli con risultati approssimativi. La scalabilità, cioè la possibilità di aumentare in ogni momento lo spazio server acquistato o noleggiato, era un altro punto di forza dell’offerta cloud. Ma vi fu anche la rivoluzione dei database. Abbiamo detto nel primo capitolo che, dopo l’esigenza elaborativa, la prima esigenza del mondo dei computer era il salvataggio delle informazioni e dei dati in oggetti che potessero essere riutilizzati in ogni momento. La prima soluzione, negli anni ‘70 e ’80 del XX secolo furono gli archivi sequenziali, cioè ogni gruppo di dati che si ripropone, ,il record, veniva memorizzato in un archivio in cui ogni record era posizionato dopo il precedente: La ricerca del record giusto comportava la lettura di tutti i record precedenti, quindi con un tempo medio pari alla metà della lettura di tutto l’archivio. Si giunse poi agli archivi sequenziali ad indici, più veloci, ma la vera rivoluzione del XX secolo nel settore furono i database relazionali, dove gli analisti avevano cinque regole base per progettare i database, una delle quali diceva che lo stesso dato doveva avere sempre lo stesso valore, non era infatti possibile che io Mi chiamassi Roberto, da una parte, Mario da un’altre parte del database e Giovanni in un’altra parte. Ma le regole prevedevano anche, in un periodo di penuria di spazio informatico, che lo stesso dato non fosse mai ripetuto, in modo da risparmiare spazio, tranne alcuni dati di gestione del database, le chiavi, che collegavano tra loro i vari archivi contenenti i dati, le tabelle, in un sistema gestito da un apposito linguaggio, l’SQL, con una codifica internazionale e alcune personalizzazioni gestite dai vari produttori di database. Complicate funzioni SQL, le join, permettevano di ottenere i dati nel formato tabellare necessario a clienti e manager, cui non fregava niente della struttura del database e volevano i dati sul proprio computer in forma leggibile e immediata. Nel XXI secolo, col cloud, si risolveva anche questo problema, si rinunciava al vincolo di non duplicare i dati e restava solo in vincolo che uno che si chiama Antonio da una parte non si chiamasse Luca o Giovanni dalle altre. Per compatibilità col sistema precedente il cloud supportava anche i principali database relazionali.