1960‑yillarda kosmik dasturlash hali yangi bir soha bo‘lganda, Margaret Hamilton o‘zining vizioner yondashuvi bilan insoniyat tarixidagi eng murakkab tizimlardan birini yaratdi.
Kontekst: Apollo dasturi va dasturiy ta'minotning tug‘ilishi
NASA ning Apollo dasturi, 1961‑yilda prezident Y. N. Kennedy tomonidan “oyga odam yuborish” maqsadi bilan boshlangan, bu maqsadga erishish uchun nafaqat mexanik, balki dasturiy ta'minot ham muhim rol o‘ynadi. O‘sha davrda kompyuterlar bir necha yuz baytli xotiraga ega bo‘lib, kod yozish jarayoni hozirgi zamon standartlariga qaraganda ancha cheklangan edi.
Margaret Hamiltonning yo‘li va asosiy yutuqlari
1936‑yilda Indiana shtatining Paoli shahrida tug‘ilgan Hamilton, 1958‑yilda Earlham kollejidan matematika bo‘yicha bakalavr darajasini, falsafa bo‘yicha kichik mutaxassislikni olgan. Uning ilmiy tayyorgarligi, murakkab algoritmlarni tushunish va tizimlar orasidagi o‘zaro bog‘liqlikni ko‘ra olish qobiliyatini shakllantirdi.
On‑board flight software (kosmik kemaning ichki kompyuter dasturi) ni boshqarish vazifasini olganida, Hamilton “software engineering” (dasturiy injenerlik) atamasini yaratib, bu sohaning mustaqil ilmiy yo‘nalishi sifatida tasdiqladi.
Texnik tafsilotlar: Apollo Guidance Computer (AGC) kodi
AGC, 64 KB ROM va 2 KB RAM bilan ishlagan, lekin bu cheklovlar ichida ham Hamilton jamoasi bir necha muhim funksiyalarni amalga oshirdi:
- Prioritetli vazifalar – kodda “asynchronous executive” deb nomlangan mexanizm orqali muhim vazifalar (masalan, yo‘nalishni tuzatish) avval bajarildi.
- Qayta tiklanish – tizim xatolik yuz bersa, avtomatik ravishda “restart” qilinib, muhim ma'lumotlar yo‘qolmasligi ta'minlandi.
- Modul struktura – har bir funksional blok alohida modul sifatida yozildi, bu esa testlash va xatolikni izlashni soddalashtirdi.
Bu yondashuvlar, hozirgi zamon real‑time operatsion tizimlarining asosiy tamoyillariga o‘xshash bo‘lib, Hamiltonning ishini zamonaviy dasturiy injenerlikning poydevori deb hisoblash mumkin.
Taqqoslash: O‘sha davr va hozirgi dasturiy ta'minot
1970‑yillarda shaxsiy kompyuterlar ommalashganidan keyin, kod yozish usullari vizual interfeyslar, obyektga yo‘naltirilgan dasturlash (OOP) va avtomatik testlash kabi konseptlarga asoslandi. Hamiltonning “priority scheduling” va “fault tolerance” (xatolikga chidamlilik) mexanizmlari esa shu yillar ichida keng tarqalgan metodologiyalarning dastlabki prototipi bo‘ldi.
Masalan, hozirgi Android yoki iOS operatsion tizimlari ham “preemptive multitasking” (oldindan to‘xtatib turuvchi ko‘p vazifali ishlash) va “watchdog timer” (xatolikni aniqlash va tizimni qayta ishga tushirish) kabi mexanizmlarga ega, bu esa Hamiltonning AGC kodida qo‘llanilgan tamoyillarni tasdiqlaydi.
Cheklovlar va ochiq savollar
AGC ning apparat cheklovlari sababli, kodni optimallashtirishda har bir bayt muhim edi. Bu esa ba'zi funksiyalarni soddalashtirishga yoki ba'zi xavfsizlik choralarini cheklashga olib kelgan. Hozirgi kunda, ko‘p yadroli protsessorlar va keng xotira hajmi bilan, bunday cheklovlar deyarli yo‘q, lekin “kritik tizimlar” (aviasiya, tibbiyot) uchun “minimal kod” tamoyili hali ham amalda.
Shuningdek, Hamiltonning jamoasida gender muammolari ham mavjud edi – 1960‑yillarda ayollar dasturchi sifatida kam baholanardi. Bu ijtimoiy kontekst, texnik yutuqlarga qarshi bo‘lishi mumkin bo‘lgan omil sifatida ko‘rib chiqilishi lozim.
Meros va zamonaviy ta'siri
Hamiltonning ishini tan olish, 2016‑yilda Prezident Erkinligi medali (Presidential Medal of Freedom) bilan yakunlandi. Uning ismi LEGO “Women of NASA” to‘plamida ham saqlanadi – bu yosh avlodga ilm-fan va texnologiyaga qiziqish uyg‘otadi.
Bugungi kunda “software engineering” termini universitetlarda alohida fakultet sifatida o‘qitiladi, va bu sohada millionlab mutaxassislar faoliyat yuritadi. Hamiltonning “software engineering” atamasini yaratishi, bu sohaning professionalizatsiyasiga asos bo‘ldi.
Shuningdek, NASA ning keyingi missiyalari – Artemis, Mars ro‘yxatiga kirish – ham Hamiltonning kodlash tamoyillariga asoslanadi. Ars Technica maqolasida ham aytilganidek, uning merosi kosmik dasturlashning kelajagi uchun yo‘l ko‘rsatadi.
Kelajak uchun saboq
Margaret Hamiltonning hayoti va ishlari, texnologik yutuqlarni insoniy qadriyatlar bilan birlashtirish zarurligini ko‘rsatadi. Dasturiy ta'minotning ishonchliligi, jamoaviy hamkorlik va qat'iy nazorat mexanizmlari – bularning barchasi hozirgi kunda ham muhim.
Ushbu tarixiy sahifani o‘rganish, zamonaviy dasturchilar uchun “xatolikni oldini olish”, “kritik tizimlarda barqarorlik” va “innovatsion liderlik” kabi tamoyillarni amalda qo‘llashga ilhom beradi.