Barbara Liskov: Veri Soyutlamanın İlk Mimarı
1968 yılında Barbara Liskov, Amerika Birleşik Devletleri'nde bir bilgisayar bilimi bölümünden doktora derecesi alan ilk kadınlardan biri oldu. Dört yıl sonra, Massachusetts Teknoloji Enstitüsü'nün (MIT) rektörü dünyaya, her ne zaman birisi çevrimiçi olarak banka bakiyesini kontrol etse veya bir arama yapsa, "onun araştırmasının ivmesini kullandıklarını" söyledi. Bu iki an arasında, o günden sonra yazılan neredeyse her programlama dilinin altında sessizce çalışan kavramsal iskeleyi -veri soyutlama, soyut veri tipleri ve bir tipin bir diğerinin yerine güvenle geçebileceği duruma dair resmi bir kural- inşa etti.
Bilgisayar Biliminde Beklenmedik Bir Başlangıç
Barbara Jane Huberman, 7 Kasım 1939'da Los Angeles'ta dört çocuğun en büyüğü olarak doğdu. California Üniversitesi, Berkeley'de (UC Berkeley) fizik yan dalıyla matematik ana dalı yaptı ve 1961'de matematik okuyan sınıfındaki sadece iki kadından biri olarak mezun oldu. Kadınlar için teknik kariyer yollarının neredeyse hiç olmadığı bir dönemde kolay bir yol izlemek yerine, Stanford onu yeni başlayan bilgisayar bilimi programına kabul etmeden önce Mitre Corporation'da programcı olarak çalışmaya başladı. 1968'deki doktora tezi, satranç oyun sonu programlamasını ele aldı ve yapay zeka alanında hala tartışılan bir arama budama tekniği olan "katil sezgiselliğini" (killer heuristic) ortaya çıkardı. Doktora danışmanı, yapay zekanın kurucularından John McCarthy idi. Amerika Birleşik Devletleri'nde bir bilgisayar bilimi bölümünden doktora derecesi alan ilk kadın olarak kabul edilmektedir.
CLU ve Veri Soyutlama Fikri
Liskov, 1972'de MIT'ye katılarak Programlama Metodolojisi Grubu'nu yönetti ve 1970'lerin ortalarında orada CLU dilini tasarladı. O zamanlar çoğu programcı, yazılımı prosedürel olarak düzenliyor, veri yapılarını doğrudan manipüle eden ve ikisini her yerde birbirine dolayan talimat dizileri yazıyordu. CLU, bir veri tipini sadece onunla işlem yapılmasına izin verilen operasyonlarla birlikte paketleyen ve dahili temsili programın geri kalanından tamamen gizleyen, kendi kendine yeten modüller olan "kümelenmeleri" (clusters) tanıttı. Bu veri soyutlamaydı ve yazılım mühendisliğini ne kadar derinden yeniden şekillendirdiğini abartmak zordur: Java, C++, C# ve Ada'nın merkezindeki sınıf yapıları, kökenlerini CLU'nun kümelenmelerinden alır. Liskov, dili esasen büyük yazılım sistemlerinin ancak temiz arayüzlerle küçük, bağımsız olarak doğrulanabilir parçalara bölünmeleri halinde güvenilir bir şekilde inşa edilebileceğine dair işleyen bir kodla yapılmış bir argüman olarak kurdu.
Argus, Bizans Hata Toleransı ve Dağıtık Sistemler
Liskov, tek makineli programlarla sınırlı kalmadı. 1980'lerde, özellikle dağıtık hesaplamayı desteklemek için inşa edilmiş ilk yüksek seviyeli programlama dili olan Argus'un geliştirilmesine öncülük etti; bu, bir ağ üzerinden iletişim kuran birden fazla makineye bölündüğünde bile doğru çalışan programlardı ve bu fikir artık her bulut hizmeti ve web uygulaması için temel niteliğindedir. Daha sonra daha da zor bir soruna yöneldi: dağıtık bir sistem, bileşen makinelerinden bazıları gelişigüzel arızalandığında veya kötü niyetli davrandığında bile nasıl doğru çalışmaya devam edebilir; bilgisayar bilimcileri bu senaryoya "Bizans hatası" (Byzantine fault) derler. Bizans hata toleransı için öğrencileriyle birlikte geliştirdiği pratik teknikler, artık büyük ölçekli internet hizmetlerinin güvenilirliğini koruyan altyapıda yerleşiktir ve daha sonra bazı blok zinciri mutabakat protokollerinin temelini oluşturmuştur.
Kendi Adını Taşıyan İlke
1987'deki bir açılış konuşmasında Liskov, daha sonra Jeannette Wing ile resmileştirilecek olan ve Liskov yerine geçme ilkesi (Liskov substitution principle) olarak bilinecek şeyi dile getirdi: bir program belirli tipteki nesneleri kullanmak için yazılmışsa, programın doğruluğunu bozmadan o tipin herhangi bir alt tipindeki nesneleri kullanabilmelidir. Basitçe ifade edildiğinde neredeyse kendiliğinden anlaşılır görünür, ki bu tam olarak neden önemli olduğunun sebebidir; "alt sınıfların ebeveyn sınıf gibi davranması gerektiği" yönündeki belirsiz bir sezgiyi, doğru nesne yönelimli tasarım için katı ve denetlenebilir bir kritere dönüştürür. İlke, neredeyse her yazılım mühendisliği öğrencisine öğretilen beş "SOLID" sütunundan biri haline geldi; bu, bireysel bir araştırmacının adının koca bir endüstrinin çalışma kelime dağarcığına girmesinin nadir bir örneğidir.
Turing Ödülü ve Tanınma
2008 yılında Bilgisayar Makineleri Birliği (ACM), hesaplama alanındaki en yüksek onur olan A.M. Turing Ödülü'nü (A.M. Turing Award) Liskov'a "özellikle veri soyutlama, hata toleransı ve dağıtık hesaplama ile ilgili programlama dili ve sistem tasarımının pratik ve teorik temellerine yaptığı katkılardan dolayı" verdi. Bu ödülü kazanan ikinci kadındı. O zamanki MIT rektörü Susan Hockfield, onun katkılarını "bir MIT ideali: derin faydaları olan çığır açıcı araştırma" olarak nitelendirirken, rektör yardımcısı L. Rafael Reif'in övgüsü daha somuttu: "Her e-posta alışverişi yaptığınızda, çevrimiçi banka ekstrenizi kontrol ettiğinizde veya Google araması yaptığınızda, onun araştırmasının ivmesini kullanıyorsunuz." 2004 yılında IEEE John von Neumann Madalyası'nı zaten almıştı; Ulusal Mucitler Onur Listesi'ne 2012'de girdi ve daha sonra 2023'te Benjamin Franklin Madalyası'nı aldı. Üniversitenin en yüksek öğretim üyesi unvanı olan ve 2008'de verilen MIT Enstitü Profesörü unvanını korumaktadır.
Barbara Neden Dahi Olarak Adlandırılıyor
Liskov'un deha vakası, soyutlamanın bizzat kendisiyle ilgili bir vakadır; karmaşık bir sistemin içine çizilecek doğru sınırı bulmanın, böylece her parçanın kendi başına anlaşılabileceği ve güvenilebileceğinin özel zihinsel becerisidir. CLU'nun kümelenmeleri ve adını taşıyan yerine geçme ilkesi gösterişli icatlar değildir; 1970'lerdeki çoğu programcının henüz açıkça ifade etmeyi öğrenemediği bir soruna verilen kesin yanıtlardır ve bu, bireylere nadiren bu şekilde kredi veren bir alanda adının neden kalıcı olarak çözüme bağlandığının bir parçasıdır. Turing Ödülü komitesinin dili -"pratik ve teorik temeller"- tam olarak bunu işaret eder: tek bir eser değil, diller ve on yıllar boyunca genelleşen bir doğruluk düşünme biçimi. Dürüst karşı argüman şudur ki, Liskov zaten modülerliğe ve soyut tiplere doğru ilerleyen bir araştırma geleneği içinde çalışıyordu (Tony Hoare, Niklaus Wirth ve diğerleri aynı anda ilgili fikirleri takip ediyorlardı) ve CLU'nun kendisi hiçbir zaman yaygın olarak kullanılan bir üretim dili haline gelmedi; etkisi, kavramlarını benimseyen daha sonraki diller aracılığıyla ikinci elden geldi. Kanıtlara göre dehası, saf icattan çok alışılmadık bir netlikti: soyutlamayı başkası yapmadan önce tam olarak doğru yapmak.
Miras
Liskov'un fikirleri artık telefonları, bankaları ve arama motorlarını çalıştıran yazılımın altında görünmez bir şekilde oturuyor ve adı, makalelerini hiç okumamış olabilecek mühendisler tarafından yürütülen kod incelemelerinde "bu Liskov yerine geçme ilkesini ihlal ediyor mu?" şeklinde bir kısaltma olarak yaşıyor. Çok az araştırmacı, ölümsüzlüğün o özel, gösterişsiz biçimine ulaşır: bir alanın sağduyusuna o kadar tamamen katlanmak ki, insanlar artık bir zamanlar bir isim eklendiğini hatırlamayı bırakırlar.

.jpg)
