Spinto all'astrazione

Nel 1961, dopo aver conseguito la laurea in matematica presso l'Università della California a Berkeley, Barbara Liskov (allora Barbara Huberman) decise di iscriversi alla scuola di specializzazione a Princeton.





La scuola ha risposto con un modulo in cui spiegava che non accettava studentesse. Sono rimasto sbalordito quando l'ho capito, dice Liskov. Una piccola cartolina. Col senno di poi, dice, ero molto ingenua.

L

Questa storia faceva parte del nostro numero di gennaio 2010

  • Vedi il resto del problema
  • sottoscrivi

Sebbene altre donne all'epoca avrebbero potuto sapere che non erano le benvenute a bussare a certe porte, Liskov non ha mai passato molto tempo a preoccuparsi di ciò che le era permesso o non poteva fare. Il risultato è stata una carriera straordinaria. Nel 1968, Liskov, che ora è Professore d'Istituto presso il Dipartimento di Ingegneria Elettrica e Informatica e capo del Gruppo Metodologia di Programmazione del CSAIL, è diventata la prima donna, anzi, una delle prime persone negli Stati Uniti a ottenere un dottorato di ricerca da un dipartimento di informatica. La sua ricerca ha portato a importanti scoperte in aree fondamentali come i sistemi operativi, i sistemi distribuiti, i linguaggi di programmazione e la metodologia di programmazione. Le sue idee hanno contribuito a formare le basi per i moderni linguaggi di programmazione come Java, progettati per utilizzare moduli autonomi di dati e istruzioni che possono essere sviluppati una volta e riutilizzati per molti scopi diversi. Il suo lavoro su come mantenere affidabili i sistemi distribuiti ha gettato le basi per risultati come l'architettura globale di Google di server economici e standard. La scorsa estate, i suoi successi sono stati riconosciuti con il Turing Award dall'Association for Computing Machinery, un onore che è stato chiamato il Premio Nobel dell'informatica.



È difficile immaginare come sarebbero la programmazione e i sistemi distribuiti di oggi senza i numerosi contributi seminali di Barbara, John Guttag, professore di informatica e ingegneria che conosce Liskov da più di tre decenni, ha scritto in una lettera del 2008 a sostegno della sua promozione a Professoressa dell'Istituto . Guttag, che ha anche nominato Liskov per il Turing Award, osserva che dozzine di eminenti scienziati informatici da cui ha sollecitato il sostegno per quella nomination erano coerenti in quanto dicevano tutti che il lavoro era eccezionale ma incoerente su quale pezzo del suo lavoro avrebbero scelto dire era fantastico. E questo, dice, è una testimonianza dell'ampiezza e dell'impatto della carriera di Liskov.

RISORSE

  • Leggi 'Teoria e pratica: assistere a una lezione di Liskov'

  • Ascolta la conferenza di Barbara Liskov del 2001 sulla tolleranza d'errore bizantina pratica.

Liskov, una donna ordinata e dai capelli ricci che indossa calzini stravaganti, non si sofferma sui suoi successi o onori (ha anche vinto la medaglia John von Neumann dell'Institute of Electrical and Electronics nel 2004). Né si sofferma sugli ostacoli che ha dovuto superare per farsi strada in un campo in gran parte dominato dagli uomini.

Crescendo, non avevo idea di quanto fossero importanti i suoi successi, dice suo figlio, Moses Liskov, SM '01, PhD '04, che ora è assistente professore di informatica presso il College of William and Mary. Era sempre reticente riguardo ai propri trionfi, aggiunge, ma parlava con orgoglio dei suoi studenti, festeggiando quando avevano un buon lavoro o gli veniva concesso un posto di lavoro.



La carriera di Barbara Liskov in informatica è iniziata alla nascita del campo. Invece di conseguire una laurea in matematica dopo il college, ha ottenuto un lavoro come programmatrice di computer presso Mitre, un'organizzazione senza fini di lucro nell'area di Boston che conduce ricerche finanziate dal governo federale in ingegneria dei sistemi e tecnologia dell'informazione. A quel tempo, quasi nessuno era formato in informatica. Alcuni di loro avevano una formazione come ingegneri, ma altri avrebbero potuto avere una laurea in lettere, dice Liskov dei suoi colleghi. Stavano assumendo persone che pensavano potessero avere attitudine.

Da Mitre, Liskov è passato a lavorare su un progetto dell'Università di Harvard che cercava di tradurre automaticamente frasi in inglese in qualcosa che un computer potesse capire. Sebbene l'elaborazione del linguaggio naturale sia un problema su cui gli scienziati informatici stanno ancora lavorando, allora la gente si aspettava che sarebbe stato risolto in pochi anni.

Stava imparando molto sul lavoro, ma Liskov ha deciso di tornare a scuola in modo da poter coprire più materiale più rapidamente. Si diresse alla Stanford University, che presto avrebbe istituito un programma di dottorato in informatica.



Sebbene abbia concentrato i suoi studi formali sull'intelligenza artificiale, Liskov ha scoperto che i suoi veri interessi risiedono nei fondamenti della progettazione dei computer: sistemi operativi e linguaggi di programmazione. L'intelligenza artificiale, sentiva, presentava una serie di problemi apparentemente intrattabili e il progresso era lento. Ma con la ricerca sui sistemi, potresti creare applicazioni che hanno fatto qualcosa, dice. Volevo solo lavorare in un'area in cui era un po' più facile fare progressi.

Dopo Stanford, Liskov tornò a Mitre, questa volta come ricercatore. Si è lanciata direttamente in un progetto che sarebbe diventato il sistema operativo Venus, un esperimento per consentire a più persone di utilizzare lo stesso piccolo computer contemporaneamente. Mentre leggeva articoli scientifici sulla metodologia di programmazione, ricorda, mi resi conto che stavo progettando il sistema operativo in un modo diverso da quello di cui normalmente parlavano le persone. Aveva definito il sistema operativo nel modo più semplice possibile, suddividendo elementi più complessi nei propri programmi.

Liskov ha presentato un documento che descrive il sistema operativo Venus al Symposium on Operating Systems Principles, una conferenza per ricercatori del mondo accademico e industriale. Jerry Saltzer, ora professore emerito di informatica al MIT (vedi Meet the Author, p. M10), ha visto la sua presentazione e l'ha spinta a fare domanda per insegnare al MIT. Ha iniziato a frequentare l'Istituto nel 1972, diventando la prima donna nella facoltà di informatica.



Al MIT, Liskov si è lanciata nelle sue idee sui sistemi. Lavorando con lo studente laureato Steve Zilles '63, '67, SM '70, EE '70, ha pensato molto a come organizzare i programmi per computer in modo che fossero facili da scrivere, modificare e mantenere.

Qualsiasi applicazione software sofisticata è una struttura complessa di parti ad incastro, spesso modificata nel tempo da un ampio team di ingegneri. Qualsiasi modifica può avere effetti imprevisti su altre parti del software, richiedendo ai programmatori di riscrivere sostanzialmente il programma. Liskov ha escogitato modi per strutturare i programmi in blocchi discreti o moduli multi-operazione, in modo che le modifiche abbiano meno probabilità di influenzare il codice al di fuori di determinati confini.

Poiché era difficile illustrare le sue idee ai programmatori, Liskov ha progettato un linguaggio di programmazione che le mettesse direttamente in pratica. Avevo un'idea molto forte su quali fossero i buoni programmi e quali fossero i cattivi programmi, dice. Volevo rendere facile per le persone scrivere buoni programmi e, sebbene non si possa impedire alle persone di scrivere programmi cattivi, non volevo renderlo troppo facile per loro.

Il suo linguaggio di programmazione, chiamato CLU, ha avuto un'enorme influenza su un nuovo gruppo di designer di linguaggi. È stato il primo a fornire supporto per l'astrazione dei dati, una tecnica inventata da Liskov che è diventata essenziale per la programmazione avanzata (vedi Teoria e pratica, p. M21), e ha introdotto diverse altre funzionalità, come un modo per generalizzare i programmi in modo che potessero gestire iterazioni. In effetti, è stato cruciale nello sviluppo della programmazione orientata agli oggetti, l'approccio predominante in uso oggi.

Negli anni '80, Liskov si interessò al supporto di applicazioni che funzionano su Internet. A tal fine, iniziò a pensare a come suddividere un programma in modo che parti di esso venissero eseguite su molte macchine interconnesse. Tra le altre cose, ha ideato un nuovo protocollo che potrebbe sfruttare l'hardware ridondante in modo che un sistema distribuito possa subire danni - l'inevitabile guasto di computer, collegamenti di comunicazione e dischi di archiviazione - senza rompersi del tutto. Il suo lavoro aiuta a spiegare perché un sistema come il motore di ricerca di Google può continuare a funzionare mentre le persone aggiungono, modificano ed eliminano dati simultaneamente in tutto il mondo.

Molte persone hanno sviluppato cose che funzionavano bene per i sistemi degli anni '80, ma non va bene per i sistemi degli anni 2000, afferma Guttag. Barbara è riuscita a sviluppare cose negli anni '80 che sono ancora rilevanti o anche più rilevanti oggi di quanto non lo fossero allora. In effetti, dice, penso che uno dei motivi per cui le persone possono essere esigenti su questi sistemi complessi è che Barbara ha aiutato a mostrare al mondo come costruire sistemi che funzionino in modo affidabile.

In questi giorni, dice Liskov, è interessata alla sicurezza delle informazioni archiviate online, in particolare le informazioni personali, come le cartelle cliniche. Come sempre, sta trovando modi per progettare sistemi che incoraggino buone abitudini di programmazione. Cosa puoi inserire in una piattaforma che renda più facile per i programmatori creare programmi che non perdano inavvertitamente informazioni? lei dice.

Le informazioni possono trapelare in molti modi, così tanti che il problema può sembrare senza speranza, riconosce Liskov. La sua ricerca attuale si concentra sulla protezione dei dati in caso di violazioni più evidenti, come i casi in cui gli utenti perdono laptop o inviano accidentalmente informazioni sensibili via e-mail a un destinatario non autorizzato. Mentre i politici e i sostenitori discutono del futuro della privacy online, Liskov sta lavorando silenziosamente per garantire che le soluzioni tecnologiche siano disponibili quando il mondo le vuole. Stai parlando di nuova tecnologia e sai che ci vuole un po' di tempo prima che il processo politico recuperi, dice.

Liskov ha sempre incoraggiato e aiutato le studentesse e negli ultimi anni ha dedicato molta attenzione a rendere l'informatica un campo più accogliente. In qualità di rettore associato per l'equità della facoltà al MIT, lavora per reclutare più donne e membri di facoltà di minoranza e per aiutarli a gestire e far avanzare le loro carriere. Oggi l'Istituto è un luogo molto diverso da quello che ha incontrato nei primi anni '70, quando c'erano solo poche donne nella facoltà. All'epoca, dice Liskov, non incontrò molti pregiudizi deliberati, ma si imbatté in ipotesi radicate. Ad una festa a casa del presidente per dare il benvenuto ai nuovi assunti dell'anno, ad esempio, un ospite importante si è avvicinato al marito di Liskov con la sua mano, dicendo: Benvenuto al MIT. Gli studenti a volte l'hanno scambiata per una segretaria e lei dice di aver superato una certa quantità di test nelle classi.

Essere una donna agli albori dell'informatica sarebbe stato difficile per qualcuno che prestasse maggiore attenzione a tali ostacoli, dice Liskov. E anche se quelle barriere non l'hanno infastidita molto, le aspettative della società le hanno impedito di riconoscere l'importanza della sua carriera fino a quando i suoi interessi di ricerca non hanno cominciato a maturare.

Ho sempre pensato, anche dopo il dottorato, che avrei lavorato per un po' e poi avrei potuto smettere, dice. Quando avevo una famiglia, potevo smettere. A volte, mentre ero al Mitre, mi sono reso conto che non sarei stato disposto a farlo. Suo marito, Nathan Liskov '60, un ingegnere elettrico che sposò nel 1970, sostenne quella decisione, anche dopo la nascita di Moses nel 1975.

Ma Liskov ha reso prioritario coltivare una ricca serie di interessi al di fuori del posto di lavoro, tra cui il giardinaggio e la lettura di romanzi gialli (le piace particolarmente Tony Hillerman). Ho organizzato la mia settimana lavorativa in modo che quando lavoro sono molto intensa, ma quando torno a casa mi fermo, dice.

Suo figlio conferma che quando non era al MIT o nel suo ufficio a casa, non stava lavorando. Né ha passato molto tempo al computer di casa, anche se la famiglia ha iniziato abbastanza presto, nel 1983. Quasi tutto ciò che Moses ha imparato sui computer da bambino è venuto da suo padre, dice: Mia madre è una grande pensatrice di computer, e mio padre ne è un vero utilizzatore. Nonostante tutta la sua profonda conoscenza dei sistemi e delle metodologie, a volte avrebbe dovuto chiedere aiuto a suo marito per stampare un documento.

I suoi amici si sono impegnati molto negli ultimi anni per assicurarsi che Liskov ottenesse il plauso che lei non ha mai cercato. Guttag, per esempio, è convinta che avrebbe potuto vincere il Turing Award dieci anni fa. Ma mentre Liskov è profondamente grata per il premio, a volte sembra a disagio con l'attenzione. Suo figlio la ricorda mentre parlava incredulo di dover passare un'intera giornata di lavoro a posare per le foto. È uscita a cena con la famiglia per festeggiare la ricezione del premio lo scorso giugno, ma è sembrata sollevata quando il furore è passato, permettendole di tornare alla ricerca che l'ha sempre spinta.

nascondere