{"id":476,"date":"2015-04-10T08:10:19","date_gmt":"2015-04-10T06:10:19","guid":{"rendered":"http:\/\/www.borgomasino.net\/blog\/?p=476"},"modified":"2020-10-15T08:13:26","modified_gmt":"2020-10-15T06:13:26","slug":"grace-hopper","status":"publish","type":"post","link":"https:\/\/www.borgomasino.net\/blog\/grace-hopper\/","title":{"rendered":"Grace Hopper"},"content":{"rendered":"<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fcbkbttn_like fcbkbttn_large_button\"><fb:like href=\"https:\/\/www.borgomasino.net\/blog\/grace-hopper\/\" action=\"like\" colorscheme=\"light\" layout=\"button\"  size=\"large\"><\/fb:like><\/div><div class=\"fb-share-button fcbkbttn_large_button \" data-href=\"https:\/\/www.borgomasino.net\/blog\/grace-hopper\/\" data-type=\"button_count\" data-size=\"large\"><\/div><\/div>\n<p class=\"wp-block-paragraph\">Grace Brewster Murray nacque a New York nel 1906 da genitori di lontane origini scozzesi e danesi. Primogenita (avr\u00e0 una sorella, Mary, e poi un fratello, Roger), fin da piccola era una bambina curiosa, che smontava gli orologi per vedere com\u2019erano fatti dentro. Il suo primo \u201cpaziente\u201d non super\u00f2 l\u2019operazione: una volta smontato infatti, la piccola Grace non sapeva pi\u00f9 rimetterlo insieme\u2026 O almeno quel tanto che bastasse a farlo ri-funzionare. Per rimediare all\u2019errore e capire il problema, \u201cesamin\u00f2\u201d anche gli altri orologi della casa, con presumibile grande gioia dei genitori che quando se ne accorsero, le regalarono un orologio su cui sperimentare, purch\u00e9 si limitasse a quello. L\u2019interesse per i meccanismi di funzionamento di nuovi <em>gadget<\/em> se la porter\u00e0 dietro per tutta la vita.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ebbe un\u2019infanzia felice; le vacanze estive la famiglia le trascorreva quasi sempre sul lago Wentworth, nel New Hampshire, dove possedeva un cottage; l\u00ec si poteva nuotare, arrampicarsi sugli alberi e giocare nella natura. Impar\u00f2 a cucire e a suonare il piano.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sua madre da giovane aveva cercato di ottenere una formazione tecnico-matematica, con tutto l\u2019appoggio possibile da parte di suo padre, ingengnere, ma in tempi di fine Ottocento il massimo della matematica considerata \u201cconfacente\u201d ad una donna era quello che serviva per gestire l\u2019economia domestica, quindi non le fu consentito di studiare, ad esempio, algebra e trigonometria. Quando fu il momento di mandare a scuola Grace, per fortuna, i tempi erano un po\u2019 cambiati, e la sua famiglia fece in modo di garantire a tutti i figli, maschi o femmine che fossero, le stesse opportunit\u00e0 di studio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nonostante frequentasse scuole private femminili, che insistevano molto su un certo tipo di educazione \u201cper signore\u201d, suo padre la incentiv\u00f2 sempre a lasciarsi alle spalle gli stereotipi dei ruoli femminili. Praticava basket, hockey su prato e pallanuoto. Si iscrisse al Vassar College a diciassette anni, dove in seguito divenne professore di matematica, dopo aver conseguito il diploma (e poi laurea e Ph.D. a Yale).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nel 1930 spos\u00f2 Vincent Foster Hopper, professore alla New York University. Divorziarono dopo quindici anni; Grace non si rispos\u00f2, ma mantenne il cognome del marito.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Il tenente Hopper<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Quando i giapponesi attaccarono Pearl Harbor, causando l\u2019entrata in guerra degli Stati Uniti, Grace volle a tutti i costi servire il suo paese nella Marina. Ma all\u2019epoca era gi\u00e0 troppo vecchia, 34 anni, e poi l\u2019esercito non arruolava i professori di matematica, che si preferiva rimanessero al proprio posto. Per giunta era pure sotto-peso per la sua taglia (pesava solo 47 kg, quando il minimo per fare il militare era 54). Ma Grace insistette non poco, ed alla fine nel dicembre 1943 ottenne l\u2019arruolamento nella riserva della Marina degli Stati Uniti, corpo che non avrebbe pi\u00f9 abbandonato, servendolo per ben 43 anni.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Come sappiamo in quegli anni la Marina stava lavorando sui primi computer, ed infatti fu proprio cos\u00ec che Grace venne per la prima volta a contatto con uno di quei \u201cmostri\u201d, l\u2019Harvard Mark I (e poi Mark II e Mark III) di Howard Aiken, di cui fu una dei primissimi programmatori \u2013 e <em>debugger<\/em>, ricordate l\u2019episodio del baco raccontato nel capitolo scorso? Alla fine della guerra, la sua domanda di passare al servizio attivo fu rigettata: era troppo vecchia (aveva 38 anni).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nel 1949 viene assunta dalla Eckert-Maulchy Computer Corporation (poi Remington Rand), azienda fondata dai progettisti dell\u2019ENIAC, che lavorava al primo computer commerciale della storia, chiamato UNIVAC (UNIVersal Automated Computer). Finita la guerra, dunque, l\u2019informatica si preparava a lasciare i laboratori militari per l\u2019iniziativa privata, anche se i primi contratti furono spesso con enti governativi, amministrativi o dell\u2019esercito. Nel 1951 l\u2019UNIVAC era pronto, e cominci\u00f2 ad essere installato per i primi, grandi clienti che potevano permetterselo (il prezzo oscillava tra i 1.200.000 e 1.500.000 dollari). La sua vita operativa fu di circa 4 anni, nel corso dei quali ne furono costruite e consegnate 46 unit\u00e0. 5.200 valvole, 14,5 tonnellate di peso, 35,5 metri quadri di ingombro. La sua frequenza di clock era di 2,25 MHz, il che consentiva al suo Central Complex (memoria + CPU, un pratico blocco di quasi 27 metri cubi di volume) di svolgere un\u2019addizione in 525 microsecondi ed una moltiplicazione in 2150.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La memoria, che poteva immagazzinare 1000 parole di 12 cifre, usava la tecnologia a linee di ritardo al mercurio, sulla quale vale la pena spendere qualche parola. E allora\u2026 Spendiamola subito (se invece non ve ne frega niente, potete tranquillamente saltare i prossimi quattro paragrafi).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per quanto riguarda la <em>Volatile Memory<\/em>, cio\u00e8 memoria non persistente (viene cancellata se la macchina viene spenta), le tecnologie degli albori dell\u2019informatica erano sostanzialmente due: le linee di ritardo ed i tubi Williams.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una memoria a linea di ritardo (<em>delay line memory<\/em>) \u00e8 un sostanzialmente un lungo tubo riempito di un mezzo trasmissivo (il pi\u00f9 popolare era il mercurio, anche se Turing sosteneva che anche il <em>gin<\/em> aveva le qualit\u00e0 per essere un valido sostituto) alle cui estremit\u00e0 erano posti due elettrodi. Un trasduttore convertiva gli impulsi elettrici da memorizzare in vibrazioni meccaniche che venivano propagate al mezzo trasmissivo nel tubo. Le onde si muovevano nel tubo fino a raggiungere l\u2019altra estremit\u00e0, dove venivano ritradotte in segnali elettrici che, amplificati, venivano rispediti al trasduttore tramite un circuito e quindi re-immesse nel tubo (operazione di <em>refresh<\/em> della memoria, senza la quale i dati memorizzati avrebbero avuto vita limitata al tempo impiegato dalle onde sonore a percorrere il tubo). Ad ogni istante, il tubo di mercurio poteva contenere centinaia o anche migliaia di impulsi diversi, in viaggio da un\u2019estremit\u00e0 all\u2019altra. Per leggere un bit bisognava per\u00f2 aspettare che l\u2019impulso corrispondente arrivasse al fondo del tubo, il tempo di accesso era quindi variabile (nell\u2019ordine di grandezza di 2 millisecondi) e non si trattava quindi di un vero accesso casuale ma piuttosto \u201cciclico\u201d \u2013 io direi praticamente sequenziale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I tubi Williams invece erano dei tubi catodici (tipo un vecchio televisore, ma a forma di tubo, stretto e lungo) sulla cui faccia un fascio di elettroni poteva illuminare un punto preciso scrivendo cos\u00ec l\u00ec un valore. Quindi sovrapponendo uno strato di fosfori, guardando il tubo avreste potuto vedere una matrice di punti illuminati o no, a seconda del valore dei bit memorizzati, cio\u00e8 proprio una visualizzazione grafica della memoria. Per leggerlo si re-illuminava il punto, ma questa operazione aveva anche l\u2019effetto collaterale di distruggere l\u2019informazione l\u00ec memorizzata, che andava quindi immediatamente riscritta. Inoltre la persistenza dell\u2019informazione era comunque temporanea ed andava rinfrescata periodicamente. Un singolo tubo di Williams poteva contenere tra i 512 bit ed i 2056 bit di informazione: immagazzinare la quantit\u00e0 di dati contenuta su una ormai quasi obsoleta <em>memory card<\/em> da 4GB con questa tecnica richiederebbe pi\u00f9 di 6500 metri cubi, oltre il doppio del volume del padiglione dei cetacei dell\u2019acquario di Genova; ovviamente, all\u2019epoca le richieste di memoria erano gran lunga inferiori.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entrambi questi sistemi avevano pregi e difetti, i tubi Williams erano pi\u00f9 veloci e garantivano un vero accesso casuale ai dati, ma diventavano rapidamente inaffidabili. Le memorie a linea di ritardo richiedevano di essere tenute ad una temperatura di 40 gradi per funzionare al meglio, erano pi\u00f9 lente, pesanti e, a meno di non usare davvero il gin, tossiche. Quali si diffusero di pi\u00f9? Ovviamente queste ultime.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Nonna COBOL<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sotto la EMCC\/Rand, Grace lavorava al software dell\u2019UNIVAC per la clientela business. Si accorse che i clienti dell\u2019azienda non avevano proprio una grande familiarit\u00e0 con il linguaggio macchina e la notazione scientifica, cos\u00ec propose ai suoi capi di ideare un linguaggio pi\u00f9 vicino alla lingua naturale (l\u2019inglese) per programmare i computer. L\u2019idea venne bollata come infattibile, ma Grace da buon informatica si impunt\u00f2 a fare ci\u00f2 che riteneva giusto ed interessante, fregandosene tranquillamente delle indicazioni che le venivano dall\u2019alto (attitudine che si riscontra immutata ancora oggi nei programmatori di qualsiasi azienda del settore). Insieme al suo team nel 1955 inizi\u00f2 a scrivere la specifica per il linguaggio di programmazione che avrebbe voluto, che chiam\u00f2 FLOW-MATIC. Le operazioni venivano espresse per la prima volta con verbi, pronomi e punteggiatura che permettevano immediatamente di capire quel che si stava facendo, ad esempio \u201c<em>COMPARE PRODUCT-NO (A) WITH PRODUCT-NO (B); IF GREATER GO TO OPERATION 10;<\/em>\u201d. Il programma era diviso in sezioni, con uno spazio apposito per la descrizione dei dati (di input e di output) su cui esso operava. Tra il 1958 ed il 1959 venne completato un compilatore (1) per tradurre il linguaggio in istruzioni macchina, rendendo possibile eseguire i programmi per davvero sull\u2019<em>hardware<\/em> dell\u2019epoca.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La stessa idea di Grace piaceva a molti, perfino al Dipartimento della Difesa americano, che decise di promuovere un progetto per la creazione di un linguaggio di programmazione comune per le applicazioni commerciali. Il motivo era soprattutto economico: secondo un sondaggio del 1959, la realizzazione di una nuova applicazione informatica su uno dei super-computer dell\u2019epoca costava in media 800.000 dollari in programmazione, mentre trasportarne una esistente su un altro hardware appena poco di meno, circa 600.000. Che tempi d\u2019oro per i programmatori! (per\u00f2 attenzione, non c\u2019era internet e comunque non i motori di ricerca\u2026 N\u00e9 probabilmente <em>debugger<\/em> ed esecuzioni del programma <em>step by step<\/em>, mentre mi sa che c\u2019era molto lavoro di simulazione da fare con carta e penna).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il Dipartimento della Difesa riun\u00ec quindi un gruppo di 41 \u201cmassimi esperti\u201d (ovviamente c\u2019era anche Grace), esponendo le sue richieste: serviva un linguaggio \u201ccomune\u201d, facilmente portabile sui diversi sistemi che all\u2019epoca stavano spuntando come funghi, tutti diversi e assolutamente incompatibili, che potesse soddisfare le varie applicazioni del software dell\u2019epoca, dal mondo bancario a quello assicurativo, dall\u2019anagrafica alla gestione degli inventari. Doveva essere facile da usare, anche a scapito della potenza o della velocit\u00e0, e fare uso dell\u2019inglese il pi\u00f9 possibile, essere aperto ai cambiamenti futuri e poco indipendente dalle tecnologie dell\u2019epoca. Insomma volevano che pi\u00f9 gente imparasse programmare, meglio una forza lavoro numerosa e un po\u2019 pi\u00f9 mediocre che una manciata di geni stra-pagati.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Come sempre quando c\u2019\u00e8 un gran lavoro da fare su un argomento aperto e lo si affida ad un <em>board<\/em> di tanti super-esperti provenienti da ambiti diversi, il risultato fu uno solo: una serie infinita di riunioni che si concludevano immancabilmente con grandi dichiarazioni di intenti, apertura di tavoli, creazione di comitati attuativi, insomma nulla di nulla che fosse anche un minimo concreto. Nel delirio di <em>riunionocrazia<\/em>, si arriv\u00f2 a formare ben tre comitati che in pratica dovevano fare la stessa cosa: uno era incaricato di trovare una soluzione di breve periodo (gli smanettoni), uno di trovarne una di medio periodo (i loro capi, magari docenti universitari) ed uno di esplorare le soluzioni di lungo periodo, da scolpire nella pietra (questi dovevano essere i teorici pi\u00f9 astratti e talebani, che non si trovavano mai d\u2019accordo su niente). Non poteva mancare ovviamente un quarto comitato direttivo (questi erano quelli che non facevano nulla, aspettando che gli altri producessero qualcosa).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La palude era totale. Grace, che faceva parte del comitato di <em>short-term<\/em>, non poteva che fare presente che \u2013 <em>ops<\/em> \u2013 lei aveva gi\u00e0 un linguaggio pronto, il FLOW-MATIC, pure col suo compilatore. Quindi perch\u00e9 non partire da quello? Quando quasi erano tutti convinti e si era l\u00ec l\u00ec per prendere una decisione, se ne arriv\u00f2 l\u2019IBM promuovendo il suo ultimo ritrovato, il COMTRAN: era fortissimo nelle espressioni algebriche. Grace fece presente che l\u2019obiettivo iniziale era invece di massimizzare l\u2019uso dell\u2019inglese. Mentre ancora si dibatteva su come miscelare FLOW-MATIC e COMTRAN, arriv\u00f2, spinto dal comitato di <em>mid-term<\/em>, il linguaggio FACT, che a loro piaceva molto per\u00f2 non era portabile e soprattutto era il risultato del lavoro di un totale <em>outsider<\/em>, Roy Nutt. Risultato? Veti incrociati e bocce ferme.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Arduo era anche il compito di trovare un nome per la creatura: BUSY? INFOSYL? COCOSYL? Infine si decise per COBOL (<em>Common Business-Oriented Language<\/em>). Per\u00f2 sembrava questo uno dei pochi risultati, tant\u2019\u00e8 che qualcuno fece recapitare al presidente del comitato direttivo una lapide da 15 dollari con su inciso \u201cCOBOL\u201d (all\u2019incisore un po\u2019 perplesso era stato detto che si trattava di\u2026 un nome polacco abbreviato). Forse fu quella sorpresa a convincerlo finalmente a cambiare rotta: prese sei persone di sua scelta, le mise intorno ad un tavolo e lasci\u00f2 decidere a loro. Ad inizio gennaio 1960, le specifiche di quello che sarebbe stato chiamato COBOL 1960 erano pronte. La gran parte derivava direttamente dal FLOW-MATIC di Grace, da allora considerata se non proprio la madre, almeno la nonna del COBOL. Beh, l\u2019ho raccontata come una telenovela ma alla fine tutto il processo di definizione del COBOL dur\u00f2 poco pi\u00f9 di sette mesi, che rispetto a quel che ho visto nella mia carriera lavorativa \u00e8 davvero poco: ricordo Progetti Europei molto pi\u00f9 lunghi ed assolutamente inconcludenti.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">L\u2019ammiraglio Hopper<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nel 1966 si ritir\u00f2 dalla Riserva della Marina per sopraggiunti limiti di et\u00e0, come prevedevano le norme in vigore. Ma era gi\u00e0 una leggenda. Nel 1967 fu richiamata in servizio attivo, promossa Comandante ed assegnata al \u201cComando per l\u2019Automazione dei Dati Navali\u201d con il compito di garantire una certa uniformit\u00e0 nello sviluppo del software dalla Marina. Contratto a progetto per sei mesi, che verr\u00e0 poi prorogato indefinitamente. Nel 1986 \u00e8 promossa Commodoro, nel 1985 Ammiraglio di Retroguardia. Nel 1986, si congeda definitivamente dalla Marina; a quasi 80 anni, \u00e8 l\u2019ufficiale in servizio pi\u00f9 anziano e le viene organizzata una cerimonia con tutti gli onori a bordo della USS Constitution, non a caso la nave pi\u00f9 anziana in servizio all\u2019epoca. Ma di godersi la pensione Grace non ne voleva sapere, e la Digital Equipment Corporation (DEC) la assunse come consulente senior, posizione che occup\u00f2 fino alla sua morte, avvenuta nel 1992.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per la DEC era una sorta di ambasciatrice d\u2019intenti, che girava per le varie sedi di R&amp;D tenendo discorsi sulle origini dell\u2019informatica, sulla sua straordinaria carriera ma anche su quello che i produttori di computer potevano fare per rendere la vita pi\u00f9 semplice ai loro utenti. Ovviamente sempre nella sua alta uniforme, anche a ottant\u2019anni suonati.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Era una persona che sapeva motivare e spronare. Troppe volte nella vita le avevano detto \u201csei troppo vecchia\u201d, e lei aveva sempre saputo dimostrare il contrario. Diceva di se stessa, che oltre a quel compilatore del 1959, il suo pi\u00f9 grande risultato era stato di insegnare ai giovani (dove la sua definizione di giovane era \u201cchiunque abbia pi\u00f9 o meno met\u00e0 dei miei anni\u201d). Se qualcuno le chiedeva \u201cSi pu\u00f2 fare?\u201d, lei gli rispondeva \u201cProvaci!\u201d, e teneva sempre un occhio su chi era stato suo allievo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Da un lato era tipicamente una donna della marina, credeva nell\u2019autorit\u00e0 pi\u00f9 che nella competenza tecnica come dote fondamentale per essere a capo di un gruppo (\u201c<em>You don\u2019t manage people, you manage things. You lead people<\/em>\u201d), ma chi la conosceva bene sapeva che sotto sotto era piuttosto una pirata. D\u2019altra parte una delle sue frasi preferite era \u201cSe \u00e8 una buona idea, vai e fallo. E\u2019 molto pi\u00f9 facile chiedere scusa che ottenere il permesso di farlo.\u201d<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Grace Brewster Murray nacque a New York nel 1906 da genitori di lontane origini scozzesi e danesi. Primogenita (avr\u00e0 una sorella, Mary, e poi un fratello, Roger), fin da piccola era una bambina curiosa, che smontava gli orologi per vedere com\u2019erano fatti dentro. Il suo primo \u201cpaziente\u201d non super\u00f2 l\u2019operazione: una volta smontato infatti, la [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":477,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[13],"tags":[],"class_list":["post-476","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-monografie"],"_links":{"self":[{"href":"https:\/\/www.borgomasino.net\/blog\/wp-json\/wp\/v2\/posts\/476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.borgomasino.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.borgomasino.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.borgomasino.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.borgomasino.net\/blog\/wp-json\/wp\/v2\/comments?post=476"}],"version-history":[{"count":1,"href":"https:\/\/www.borgomasino.net\/blog\/wp-json\/wp\/v2\/posts\/476\/revisions"}],"predecessor-version":[{"id":478,"href":"https:\/\/www.borgomasino.net\/blog\/wp-json\/wp\/v2\/posts\/476\/revisions\/478"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.borgomasino.net\/blog\/wp-json\/wp\/v2\/media\/477"}],"wp:attachment":[{"href":"https:\/\/www.borgomasino.net\/blog\/wp-json\/wp\/v2\/media?parent=476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.borgomasino.net\/blog\/wp-json\/wp\/v2\/categories?post=476"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.borgomasino.net\/blog\/wp-json\/wp\/v2\/tags?post=476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}