Visualizza il feed RSS

Titolo provvisorio...

Happy Birthday, Ada!

Valuta questo inserimento
di pubblicato il 10-12-2015 alle 00:01 (2771 Visite)
Il 10 dicembre 1815 nasceva a Londra Augusta Ada Byron, figlia legittima (l'unica) del poeta George Gordon, meglio noto come Lord Byron, e di Anna Isabelle (Annabella) Milbanke, baronessa di Wentworth. Dopo il matrimonio con il barone Lord William King, poi nominato Conte di Lovelace, la nostra Ada diverrà Lady Ada Augusta, Contessa di Lovelace.

In occasione del secondo centenario della nascita di Ada, è doveroso ricordare brevemente ma nel modo più corretto la figura di colei che è a buon diritto considerata la prima programmatrice della storia, vera e propria madrina dell'informatica, principalmente a causa di questo esempio prototipale di procedura per il calcolo dei numeri di Bernoulli sulla Macchina Analitica di Babbage.

Tale "macchina" avrebbe dovuto essere un pesantissimo, complicatissimo, cervellotico mostro meccanico composto da molte più parti di una moderna autovettura e azionato a vapore per il calcolo "error-free" di tavole numeriche e la creazione diretta dei relativi cliché di stampa.
La Macchina Analitica, tuttavia, non venne mai realizzata. Essa venne illustrata da Babbage a Torino durante il secondo congresso degli scienziati italiani e succintamente descritta in un articolo in francese di Luigi Federico Menabrea, noto scienziato italiano e allievo di una vera gloria italica ottocentesca, l'ingegnere e matematico Giorgio Bidone, studioso di idrostatica e fluidodinamica di fama internazionale.

Ebbene, la nostra Ada è passata alla storia per la sua traduzione di tale articolo, al quale ha aggiunto note (incluso il diagramma sopra referenziato) che ne triplicavano la lunghezza, dopo un lungo ed intenso carteggio con lo stesso Babbage, intercalato da numerosi incontri col medesimo.

Fino a qui - dettaglio più, pettegolezzo meno - la parte arcinota della storia, la vulgata che tutti gli informatici e affini hanno sentito raccontare a lezione o letto almeno una mezza dozzina di volte nella vita, specialmente in quest'anno di celebrazioni lovelaciane che ha visto un notevole fiorire di articoli-fotocopia in merito, da pulpiti variamente autorevoli.
Più di qualcuno dei miei lettori sarà però molto sorpreso nell'apprendere che esistono ben sei diverse biografie dedicate ai soli sette lustri di non facile esistenza di questa nobildonna: ancora più sorprendente sarà sapere che tali biografie espongono e sostengono punti di vista spesso contrastanti in merito alle sue reali capacità tecniche e matematiche.

In realtà, è fin troppo facile intravedere dietro certe pretestuose polemiche giocate sui classici elementi di disputa storica (carteggi e quaderni andati perduti, dei quali si può solo indirettamente supporre l'esistenza) la spessa ombra dell'interesse fazioso di certa storiografia funzionale a ben precise quanto trite ideologie. In sostanza, nulla più del solito coacervo di tristissime e prevedibili banalità di parte.

La tristezza poi aumenta esponenzialmente nel constatare l'assurda pretesa di taluni autori d'andare a scindere a livello subatomico i presunti singoli contributi di Babbage e di Ada, quasi sempre col fine di circoscrivere e sminuire le capacità di quest'ultima: pessimo vizio che avrebbe fatto fremere di sdegno e indignazione il grande, rigorosissimo storico della scienza Alexandre Koyré, ma che purtroppo caratterizza in generale la moderna tendenza a burocratizzare e quantificare il libero pensiero, mortificando lo spirito cooperativo (si pensi alle potenzialità e ai risultati del progetto Polymath o del GIMPS, tra i tanti) e la creatività della ricerca in modo assurdo ed inaccettabile, come per anni ha sostenuto con forza anche il compianto professor Giorgio Israel, del quale si sente vieppiù la mancanza.

Fortunatamente, un recente articolo dello storico Silvio Hénin (autore tra l'altro anche di questo bel lavoro) pubblicato su "Mondo digitale", rivista ufficiale dell'AICA, riassume in modo assai equilibrato la tormentata vicenda umana della figlia di Lord Byron e il suo intrecciarsi con l'altrettanto complessa vicenda di Charles Babbage.

Rimando senz'altro i lettori all'interessante e ben documentato lavoro di Hénin (con relativa bibliografia) per i dettagli, che purtroppo in questa sede non troverebbero posto per le consuete limitazioni di spazio.

Qui voglio invece segnalare l'opera colossale dei ricercatori dello Science Museum di Londra, che nel 1991 (completando poi la parte di stampa nel 2000) hanno presentato il loro accuratissimo lavoro di costruzione del Difference Engine N° 2 secondo i progetti originali di Babbage.

In merito alla figura di quest'ultimo, troppo spesso descritto in modo eccessivamente colorito e prono a generare malintesi, consiglio di partire dallo studio dei suoi contributi matematici, ben analizzati tecnicamente in un recente lavoro di J. M. Dubbey "The mathematical work of Charles Babbage", Cambridge University Press, prima di affrontare le varie biografie del personaggio.

In chiusura, una breve nota a margine. Tutti sanno che ad Ada negli anni Settanta è stato dedicato un linguaggio di programmazione ad elevatissima affidabilità, adottato come standard dal DoD, il Dipartimento della Difesa statunitense. Molti meno sono quelli che conoscono il dettaglio dello standard MIL-STD-1815, promulgato il 10 dicembre 1980: si tratta del reference ufficiale del linguaggio Ada, promanato nel giorno del suo compleanno e archiviato con un numero che è in realtà l'anno di nascita della nostra eroina.
Al di là di questa curiosità, non mancano i soliti confusi e male informati(zzati) che - pur ignorando fatti assai più importanti e pregnanti - con irresponsabile leggerezza si sentono in grado di elargire i più sgangherati pareri da operetta in merito al linguaggio Ada e alla sua collocazione nel panorama della produzione di software: un cumulo di raccapriccianti idiozie, in senso greco, che purtroppo siamo talora costretti a leggere in giro per la Rete. Decisamente deprimenti e fastidiose per un professionista che ha iniziato circa trent'anni fa ad utilizzare ed apprezzare Ada per le applicazioni più critiche in assoluto!

Per mettere a tacere definitivamente le troppe voci dell'ignoranza, vale la pena di riassumere qui alcune verità fattuali banalmente verificabili, peraltro arcinote a chiunque non sia un totale profano del mondo dei sistemi embedded critici.

1) Il più recente standard del linguaggio è stato promulgato appena tre anni fa, nel 2012. Dunque è più recente perfino del C11!

2) Il linguaggio Ada è tuttora obbligatorio per normativa o abitudine contrattuale invalsa in numerosi settori istituzionali nel mondo anglofono (e oltre), a partire dal settore militare, avionico e aerospaziale. Il Dipartimento della Difesa USA lo rese contrattualmente obbligatorio, con pochissime eccezioni, a partire dal 1991. Nel 1997 è stata pubblicata una revisione della modulistica contrattuale DoD che aumenta il numero di eccezioni inizialmente ammesse, ma non sono mai stati cancellati completamente gli obblighi già sanciti, anche perché i tempi di realizzazione e manutenzione in tale ambito sono molto ampi e lo status quo delle commesse non può certo essere modificato in corso d'opera. Nel frattempo, sui quattro continenti, una nutrita maggioranza di altre istituzioni militari con grande potere d'acquisto (sia dentro che fuori dalla NATO) avevano prontamente imitato il DoD USA: su scala globale gli obblighi contrattuali per l'uso di Ada sono rimasti in media piuttosto diffusi, allargandosi peraltro rapidamente anche ad altri settori pubblici e privati rigidamente normati.
Ada è e rimane in pratica, assieme ad Eiffel, l'unico linguaggio considerato accettabile e più facilmente certificabile per architetture di fascia elaborativa media e medio-alta nei tipi di impiego massimamente critici: dal militare all'aerospaziale, dall'avionica al ferroviario all'energetica, ai sistemi di controllo del traffico aereo e navale, nonché in alcuni sistemi bancari e di supercalcolo. Il suo accoglimento e la sua diffusione presso la qualificata comunità internazionale dello sviluppo embedded altamente critico supera ampiamente i dialetti dedicati del linguaggio C, ad esempio, pur con tutto il relativo supporto di MISRA, SP-Lint, interpretazione astratta e quant'altro.
Nulla, assolutamente, induce gli analisti di mercato delle multinazionali a supporre che tale radicatissima percezione possa subire variazioni in senso negativo in un futuro prossimo o sul medio periodo.

3) Nell'anno di grazia 2015 Ada è attivamente utilizzato in decine di nuove commesse istituzionali in campo militare, navale, ferroviario, avionico, aerospaziale. Tale stato di fatto non è certo destinato a mutare in tempi brevi: in primis perché non ve n'è alcun reale motivo, e visti anche i già richiamati obblighi contrattuali in ordine ai periodi di garanzia di sistemi e impianti (due o tre decenni, secondo i mercati, fino al mezzo secolo di vita utile di una portaerei).

4) Esiste da decenni un fiorentissimo mercato popolato da non meno di tre dozzine tra compilatori, interpreti, runtime blindati, RTOS partizionati ARINC-653 con runtime Ada: mercato che non conosce crisi, sostenuto dai soliti noti colossi multinazionali tuttofare e da alcuni dei più importanti player del mercato embedded critico. Al di là di un paio di noti opensource accademici come GNAT o l'assai più solido ecosistema SPARK, quasi tutti i prodotti brand si collocano nella fascia alta del mercato e sono o certificati o certification-ready per applicazioni della massima criticità (dalla basilare EN 61508 alla RTCA DO-178, la più rigorosa normativa in vigore). Per un elenco (molto) parziale, si veda ad esempio qui.



EDIT: Il lettore interessato troverà ulteriori spunti e commenti in questo thread.

aggiornamento da 02-08-2016 a 01:14 di M.A.W. 1968

Categorie
Libri , Programmazione , Scienza