**Barbara Liskov** (sünninimega **Barbara Jane Huberman**; sündinud 7. novembril 1939 Los Angeleses California osariigis) on Ameerika Ühendriikide arvutiteadlane.

Ta on Massachusettsi Tehnoloogiainstituudi (MIT) kõrgeima tiitliga inseneriteaduse professor ning üks esimesi naisi USA-s, kes on saanud doktorikraadi arvutiteaduses. Ta on Turingi auhinna laureaat, kes defineeris Liskovi asendusprintsiibi.

Lapsepõlv ja haridus
--------------------

Barbara Liskov on Jane Huberman Siegeli ja Moses Hubermani vanim laps. Tal olid õed Alice Huberman ja Mary Huberman ning vend Robert Huberman. Ema Jane oli koduperenaine ja kõrgetasemeline tantsija ning isa Moses oli väljapaistev maksujurist. Barbara oli juba 1950ndatel keskkoolis käies hea matemaatikas ja loodusteadustes, kuid tol ajal läks selles valdkonnas hästi väga vähestel tüdrukutel. Liskov ise on öelnud, et ta hoidis madalat profiili – ta õppis kõiki matemaatika ja loodusteaduste aineid, mida kool pakkus, aga lihtsalt ei rääkinud nendest oma naissoost sõpradega. 1961. aastal sai ta California ülikoolis Berkeleys bakalaureusekraadi matemaatikas. Liskov meenutab, et sadakonna kursuslase seas oli ta üks kahest naisest. Pärast lõpetamist töötas ta aasta aega Mitre korporatsioonis, kus avastas huvi programmeerimise vastu. Seejärel kolis Liskov Harvardi, et töötada masintõlke ja inimkeeltega. 1968. aastal kaitses ta Stanfordi ülikoolis oma tehisintellektiga seostuva doktoritöö „A Program to Play Chess End Games" („Programm, mis mängib male lõppmänge").

Karjäär ja saavutused
---------------------

Pärast doktorikraadi omandamist kandideeris Barbara Liskov tööle Massachusettsi Tehnoloogiainstituuti (MIT), kuid tema avaldust isegi ei kaalutud, kuna ta on naine. Siiski õnnestus Liskovil 1968. aastal saada erialane töökoht Mitre korporatsioonis Bedfordis, kus ta töötas teadlasena neli aastat. Mitres tehtud uurimustest artikleid avaldades sai esimest korda üks tema artiklitest auhinnatud. 1971. aastal pidas ta avaliku teadusloengu. Seejärel kutsuti Liskovit nii MIT-sse kui ka California ülikooli Berkeleys tööle kandideerima, ning ta asus tööle MIT-s.

1972. aastal avaldas Barbara Liskov artikli eksperimentaalse operatsioonisüsteemi Venus disainist. Operatsioonisüsteem Venus oli varane näide reglementeeritud disainiga operatsioonisüsteemist. Lisaks arendas ta aastatel 1974-1975 koos oma õpilastega programmeerimiskeele CLU ja 1980. aastatel koostöös teiste MIT töötajatega programmeerimiskeele Argus. CLU oli üks varasemaid ja täielikumaid keeli, mille aluseks olid abstraktsetest andmetüüpidest tuletatud moodulid. Hiljem laiendas Argus paljusid CLU ideid jaotatud programmeerimisele ning sisaldas esimesi versioone pesastatud operatsioonidest, mille eesmärk oli säilitada ennustatavaid omadusi. Liskov arendas välja andmete abstraheerimise, mis on objektorienteeritud programmeerimise aluseks. CLU ja Argus on aluseks paljudele keeltele, nt Java ja C#, mida kasutatakse tihti personaalarvutite ja internetirakenduste programmeerimisel. Tänu Liskovi tööle programmeerimiskeelte disainimisel on tänapäevane tarkvara töökindlam ning vastupidav eksimuste ja häkkimise suhtes. Liskov ise on öelnud, et tänapäeval kasutatavad programmeerimiskeeled baseeruvad suures osas CLU keelel, kuigi programmeerijad ise ei pruugi seda teada. Lisaks arvab ta, et tema tehtud töö lihtsalt ootas tegemist ning ta juhtus olema õigel ajal õiges kohas.

1987. aastal tutvustas ta Liskovi asendusprintsiibi ideed. 1994. aastal kirjutas ta koos Jeannette Wingiga artikli „A behavioral notion of subtyping" („Alamtüüpimise käitumuslik mõiste"), kus nad defineerisid Liskovi asendusprintsiibi formaalselt. Nimetatud printsiip ütleb järgmist:

Olgu `Φ(x)` omadus, mis on `T` tüüpi objektide `x` jaoks tõestatav.

Siis `Φ(y)` peaks kehtima `S` tüüpi objektide `y` jaoks, kus `S` on `T` alamtüüp.

Liskovi asendusprintsiip on üks Robert C. Martini viiest kuulsast SOLID-disainiprintsiibist.

2002. aastal tõsteti Barbara Liskovit esile ajakirja Discover novembri väljaandes ilmunud artiklis "The 50 Most Important Women in Science" ("50 kõige olulisemat naist teadusvaldkonnas"), kusjuures ta oli selles nimekirjas ainuke arvutiteadlane.

2004. aastal sai Liskov IBM Corporationi spondeeritud IEEE (Elektri- ja Elektroonikainseneride Instituut) John von Neumanni medali. Seda medalit antakse välja silmapaistvate tulemuste eest arvutitega seotud teaduses ja tehnoloogias alates aastast 1990.

2005. aasta 19. novembril, ETH (sks Eidgenössische Technische Hochschule, Konföderatsiooni Tehnikakõrgkool) päeval, said Barbara Liskov ja Stanfordi ülikooli emeriitprofessor Donald E. Knuthi ETH Zürichi audoktoriks. Samaks ajaks olid ETH 150. aastapäeva puhul Barbara Liskov ja Donald E. Knuth kutsutud kõnesid pidama.

2008. aastal nimetas ACM (ingl Association for Computing Machinery, masinarvutuse ühendus) Barbara Liskovi A. M. Turingi auhinna laureaadiks. Turingi auhind on arvutiteaduse kõige prestiižsem auhind, seda on nimetatud arvutiteaduse Nobeli auhinnaks. Liskov võitis auhinna murranguliste uuringute eest programmeerimise valdkonnas. Ta andis panuse programmeerimiskeelte ja süsteemidisaini nii praktilistesse kui ka teoreetilistesse alustesse, eriti seoses andmete abstraheerimise, veataluvuse ja jaotatud programmeerimisega. Liskov on teine naine, kes on saanud Turingi auhinna.

2018. aastal autasustati Barbara Liskovit tema elutöö eest IEEE arvutiseltsi arvutipioneeriauhinnaga.

Viited
------

1. 1 2 3 4 5 6 7 8 9 10 11 12 13  Liz Karagianis (2009). "Top Prize". *Spectrum*. Vaadatud 31.01.2021.
2. 1 2 3 4 5 6 7 8  Tom van Vleck (2008). "Barbara Liskov". *ACM A.M. Turing Award*. Vaadatud 31.01.2021.
3. 1 2 3 4  Thorben Janssen (11.04.2018). "SOLID Design Principles Explained: The Liskov Substitution Principle with Code Examples". *Stackify*. Vaadatud 31.01.2021.
4. 1 2 3  "Jane Siegel". *Legacy*. 24.01.2010. Vaadatud 31.01.2021.
5. 1 2 3 4 5 6  Susan D'Agostino (20.11.2019). "The Architect of Modern Algorithms". *Quanta Magazine*. Vaadatud 31.01.2021.
6. ↑  Barbara J. Huberman (19.08.1968). "A Program to Play Chess End Games" (PDF). Vaadatud 31.01.2021.
7. ↑  Barbara H. Liskov (1972). "The design of the Venus operating system". *Communications of the ACM*. Vaadatud 31.01.2021.
8. 1 2 3 4 5 6  "ACM Names Barbara Liskov Recipient of the 2008 ACM A.M. Turing Award". 2008. Originaali arhiivikoopia seisuga 16.07.2012. Vaadatud 31.01.2021.`{{netiviide}}`: CS1 hooldus: robot: algne URL-i olek teadmata (link)
9. ↑  "CLU". *Codelani*. 09.08.2020. Vaadatud 31.01.2021.
10. ↑  "Argus (programming language)". Vaadatud 31.01.2021.
11. ↑  Barbara H. Liskov, Jeannette M. Wing (1994). "A behavioral notion of subtyping". *ACM Transactions on Programming Languages and Systems*. Vaadatud 31.01.2021.
12. ↑  Kathy A Svitil (01.11.2002). "The 50 Most Important Women in Science". *Discover Magazine*. Vaadatud 31.01.2021.
13. 1 2  "IEEE-LEVEL AWARDS" (PDF). Vaadatud 31.01.2021.
14. ↑  "Honorary Doctors". Originaali arhiivikoopia seisuga 11. mai 2013. Vaadatud 31.01.2021.
15. ↑  "Distinguished Lecturers Barbara Liskov and Donald E. Knuth". Originaali arhiivikoopia seisuga 3. juuni 2013. Vaadatud 31.01.2021.
16. ↑  Robert Weisman (10.03.2009). "Top prize in computing goes to MIT professor". *The Boston Globe*. Vaadatud 31.01.2021.