- 19 Aralık 2023
Margaret Hamilton – Yazılım Mühendisi
Yazılım mühendisliğinin altın çağındayız. Bugün, medeniyetimizin gelişimini gösteren hemen hemen her teknoloji yazılım mühendisliğinin bir ürünüdür. Yoğun bakım ünitelerinden cep telefonlarına kadar, her yerde ve kesintisiz olarak programlarla iç içe yaşadığımız için yazılım mühendislerinin çalışmalarından sürekli olarak faydalanıyoruz.
Ancak her zaman böyle değildi. Elli beş yıl önce, yazılım mühendisliği henüz tüm insanları doğrudan etkilemeye başlamamıştı. Ancak o erken günlerde bile, disiplin birkaç cesur adamın hayatını kurtarmak ve insan medeniyetinin yeni keşifler yapmasını sağlamak gibi bir dizi kritik görevde öncü bir rol oynuyordu.
Apollo 11 – Program Alarm!
Aldrin: Dünyayı ön penceremizden görüyoruz.
Aldrin: Houston, şu an DELTA-H’mize bakıyorsun.
Armstrong: Houston, şu an DELTA-H’mize bakıyorsun?
Mission Control: Olumlu.
Armstrong: Program alarm.
Mission Control: Sorun yok gibi görünüyor.
Armstrong: 1202, 1202.
Aldrin: 1202.
Armstrong: Bu nedir?
Aldrin: Çekirdek hatalardan biri…
Armstrong: 1202 program alarmı hakkında bize bilgi verin.
Mission Control: Olumlu. Biz aldık – O alarm üzerine çalışıyoruz.
Yukarıda Apollo-11 görevi sırasında kaydedilen radyo yayınlarını görebilirsiniz. Apollo 11 mürettebatı her şeyi sakin karşılasa da 1202 numaralı hatayı ilk kez görmüşlerdi ve mükemmel eğitimlerinin sağladığı disiplin olmasaydı panik yaşanırdı. Ancak her şeyi anlatmadan önce, Apollo 11 görevi için uçuş bilgisayarını programlayan ekibin lideri Margaret Heafield Hamilton’dan bahsedelim.
Kahramanın Sonsuz Yolculuğu
Margaret Heafield Hamilton, 17 Ağustos 1936’da ABD’de doğdu. 1958’de Matematik alanında Lisans derecesi ve Felsefe alanında yan dal derecesi aldı. 1961’de MIT Lincoln Laboratuvarı’ndaki SAGE projesi için prototip yazılımlar yazan programcılardan biriydi. Daha sonra Apollo Ay Keşif Programı için Apollo Rehberlik Bilgisayarını geliştiren MIT Enstrümantasyon Laboratuvarı’na katıldı.
Hamilton’ın MIT’deki işi, acil durumlar için hata kodları ve uyarılar üretmekti. Ekibin çoğu, Hamilton’ın kodlarının asla kullanılmayacağına inanıyordu çünkü planladığı acil durumlar asla gerçekleşmeyecekti.
Hamilton’ın o zamanlar küçük bir çocuk olan kızı Lauren, annesiyle birlikte laboratuvarda sık sık vakit geçiriyordu ve en büyük eğlencesi uçuş simülatörleriyle oynamaktı.
Bir gün Lauren, yalnızca kalkış sırasında girilmesi gereken bir kod olan P01 kodunu laboratuvardaki uçuş simülatörüne girdi ve simülatörü çökertmeyi başardı. Hamilton daha sonra üstlerine bu hatayı anlattı ve düzeltmek için yetki istedi, ancak üstleri Hamilton’ın isteğini reddetti ve yıllarca eğitim almış astronotların böyle basit bir hata yapmayacağını söyledi. Hamilton yine de kodlara bir program notu ekledi, “Uçuş sırasında P01’i seçmeyin.”
Elbette, bilim genellikle düşünülemez olanla başlar. Apollo 8 görevi sırasında, uzay aracı ay yörüngesindeyken, yıllarca eğitim almış astronotlardan biri bilgisayara P01 kodunu girdi ve Hamilton’un tahmin ettiği gibi aracın tüm navigasyon bilgileri silindi. Bu kriz, navigasyon bilgilerinin Apollo 8’e geri gönderilmesiyle son derece gergin bir 9 saatlik sürede çözüldü ve kazanılan deneyim diğer görevlerde kullanıldı. Hamilton daha sonra MIT’de Yazılım Mühendisliği Bölümü Müdürü oldu.
Yazılım Mühendisliğine Giriş – Önceliklendirme
Apollo 11’e geri dönersek, yukarıdaki konuşmadan birkaç dakika önce, Apollo 11’in buluşma radarı, ay modülü inerken bir güvenlik önlemi olarak SLEW modunda çalışmak üzere açılmıştı. Bu radarın amacı, acil bir durumda ay modülünün yörüngedeki ana araçla buluşmasını sağlamaktı. Mürettebat ve Görev Kontrolün bilmediği şey, radarın SLEW modunda bile Apollo rehberlik bilgisayarına aralıklı sinyaller göndererek hafızasını doldurduğuydu.
Bilgisayarın hafızası dolarsa bu korkunç bir senaryodur. Bu, bilgisayarın iniş sırasında yapması gereken görevlerden bazılarını gerçekleştiremeyeceği ve insanlık için büyük bir adımın başka bir göreve bırakılacağı anlamına gelebilirdi. Daha kötüsü, astronotların hayatları tehlikedeydi. Yine de astronotlar ve görev kontrol ekibi kararlıydı ve mecbur kalmadıkça Ay’a inişten vazgeçmeyeceklerdi.
Hamilton ve ekibinin bu gibi durumlara karşı önlem olarak önceden hazırladığı önceliklendirme yazılımı burada devreye girdi. Bu yazılımla, bu tür aşırı bellek kullanımıyla ilgili tüm ikincil görevler ve uyarılar otomatik olarak iptal edildi. Bu, ana ve kritik görevler için bellek boşalttı.
Houston durumu kontrol altında tutuyordu ve Duke’un çağrısı herkes için bir rahatlamaydı “Eagle, harika görünüyorsun. Başlıyorsun.” İnsanlık için bu büyük adım, olayları öngören ve gerekli önlemleri alan bir grup akıllı bilgisayar programcısı tarafından atıldı.
Kahramanın Mirası – Yazılım Mühendisliği
Hamilton, Apollo görevlerindeki çalışmaları sırasında başka bir fikir buldu: “Yazılım Mühendisliği”. İlk kez bu terimi ortaya attığında, kendi deyimiyle, herkes onunla dalga geçti. Ancak daha sonra terim benimsendi ve programlama faaliyetleri, tıpkı donanım faaliyetleri gibi, bir mühendislik bilimi olarak tanındı ve saygı gördü.
Margaret Hamilton, yazılım mühendisliğinde zamanının ötesindeydi. 1986’da Bilgisayarda Kadınlar Derneği’nden Augusta Ada Lovalace Ödülü’nü aldı ve 2016’da tüm başarıları için ABD Başkanı Barrack Obama tarafından Özgürlük Madalyası ile ödüllendirildi. 2022’de, Ohio, Dayton’daki Ulusal Havacılık Onur Listesi’ne girdi.
Şu anda 88 yaşında olan Margaret Hamilton, yazılım mühendisleri için yaşayan bir kahraman. Yazılım mühendisliğine yaptığı katkılar önümüzdeki yıllarda da konuşulmaya ve ödüllendirilmeye devam edecek. Bugün, Apollo 11 teknolojisinden çok daha gelişmiş programlarımızın bir köşesinde onun izlerini bulmak mümkün. Hamilton’ın yolculuğu, yazılım mühendisliğinin tarihinde sadece bir bölüm değil; Geleceği şekillendirmeye devam eden bir anlatıdır.
Bizi sosyal medya hesaplarımızdan takip etmeyi unutmayın!