მარგარეტ ჰამილტონი, რომელსაც პროგრამული უზრუნველყოფის ინჟინერიის დედადაც მოიხსენიებენ, უმეტესად Apollo-ს მისიაში შეტანილი წვლილის გამო გავიცანით. ამ დროს იგი MIT-ის ინსტრუმენტაციის ლაბორატორიაში პროგრამული უზრუნველყოფის ინჟინერიის გუნდს ხელმძღვანელობდა. სწორედ მათი შრომის დამსახურებაა, რომ ადამიანმა მთვარეზე დააბიჯა.

ჰამილტონის დამსახურებაა ისიც, რომ პროგრამული უზრუნველყოფის ინჟინერია ცალკეულ დისციპლინად ჩამოყალიბდა. იგი 130 პუბლიკაციის ავტორია. მარგარეტი MIT-ში 1959იდან 1970-იანების შუა წლებამდე მუშაობდა, შემდეგ კი წარმატებული მეწარმე გახდა კომპიუტერული მიმართულებით.

ცხოვრების განმავლობაში მან მრავალი ჯილდო და აღიარება მოიპოვა გაწეული შრომისათვის. მათ შორის, 2016 წელს მან პრეზიდენტ ბარაკ ობამასგან თავისუფლების საპრეზიდენტო მედალიც მიიღო.

"იმის თქმა, რომ მარგარეტ ჰამილტონი პიონერი იყო — რომ საკუთარ ეპოქას უსწრებდა — მის ღვაწლს სათანადოდ ვერ აღწერს. ის პროგრამული უზრუნველყოფის ინჟინერი იყო მაშინ, როცა ეს სფერო განვითარების ადრეულ სტადიაზე იყო. მან არა მხოლოდ დახვეწილი კოდი შექმნა, არამედ გუნდსაც უხელმძღვანელა, რომ ახალი ტექნოლოგია გამოეყენებინათ და კაცობრიობის ისტორიაში ერთ-ერთი ყველაზე რთული სისტემა შეექმნათ", — განაცხადა ოლივიე დე ვეკმა. იგი Apollo-ს პროგრამის პროფესორი და MIT-ში აერონავტიკისა და ასტრონავტიკის დეპარტამენტის დროებითი ხელმძღვანელია.

"პროგრამა Apollo დღემდე ერთ-ერთი უდიდესი დასტურია თანამშრომლობის, გამჭრიახობისა და ინჟინერიის ძალის, მარგარეტ ჰამილტონმა კი ამ პროგრამის წარმატებაში ფუნდამენტური წვლილი შეიტანა. და მისთვის ეს მხოლოდ დასაწყისი იყო! მოგვიანებით იგი მეწარმე გახდა და თავისი გამორჩეული კარიერის განმავლობაში სისტემების პროგრამული უზრუნველყოფის სათავეში დარჩა. ამავდროულად იგი მილიონობით ადამიანისთვის დამცველი, მენტორი და შთაგონების წყარო იყო", — დასძინა დე ვეკმა.

ადრეული ცხოვრება და MIT-ს პროექტები

მარგარეტ ჰამილტონი 1936 წელს დაიბადა ინდიანას შტატის ქალაქ პაოლიში. 1955 წელს მიჩიგანის უნივერსიტეტში მათემატიკის შესწავლა დაიწყო, მოგვიანებით კი ერლჰამის კოლეჯში გადავიდა. აქ 1958 წელს ბაკალავრის ხარისხი მიიღო მათემატიკაში და დამატებითი სპეციალობის სახით ფილოსოფიასაც დაეუფლა. ჰამილტონი 1959 წელს მასაჩუსეტსში, ბოსტონში, გადავიდა ქმართან ერთად.

მარგარეტმა მალევე MIT-ს მეტეოროლოგიის დეპარტამენტში დროებითი სამსახური იპოვა. იქ მან მეტეოროლოგიის პროფესორთან, ედვარდ ნ. ლორენცთან, ერთად დაიწყო მუშაობა ამინდის პროგნოზირების პროგრამულ უზრუნველყოფაზე. კომპიუტერულ პროგრამირებაში ეს მისი პირველი ნაბიჯები იყო. მისმა ნაშრომმა მოგვიანებით ლორენცის მომავალ პუბლიკაციებსაც დაუდო საფუძველი ქაოსის თეორიაზე.

1961 წელს უკვე ჰამილტონმა პროგრამისტის პოზიცია დაიკავა MIT-ს ლინკოლნის ლაბორატორიაში. იგი შეერთებული შტატების პირველ საჰაერო თავდაცვის სისტემაზე, SAGE პროექტზე, მუშაობდა. მარგარეტმა პროტოტიპული კომპიუტერისთვის, AN/FSQ-7(XD-1)-ისთვის, პროგრამული უზრუნველყოფა დაწერა. ამ სისტემას აშშ-ის საჰაერო ძალები პოტენციურად მტრული თვითმფრინავების მოსაძებნად იყენებდნენ. ამ პერიოდში ჰამილტონი პროგრამული უზრუნველყოფის საიმედოობით დაინტერესდა. იმ დროისთვის ეს ახალი და მეტწილად გამოუკვლევი კონცეფცია იყო.

1965 წელს მარგარეტი სწავლის გასაგრძელებლად ემზადებოდა, როცა მისმა ქმარმა გაზეთში განცხადება ნახა: MIT-ს ინსტრუმენტაციის ლაბორატორია ხალხს ეძებდა ისეთი პროგრამული უზრუნველყოფის შესაქმნელად, რომელიც "კაცს მთვარეზე გაგზავნიდა". ლაბორატორიას NASA-სგან კონტრაქტი ჰქონდა მოპოვებული, რომ Apollo პროგრამისთვის პროგრამული უზრუნველყოფა შეექმნათ. გამოწვევით დაინტერესებულმა ჰამილტონმა განაცხადი შეიტანა და MIT-ში Apollo პროექტის პირველ პროგრამისტად აიყვანეს. მარგარეტი ამ პროექტში მომუშავე პირველი ქალი პროგრამისტიც იყო.

ჰამილტონი თავდაპირველად Apollo-ს უპილოტო მისიების პროგრამულ უზრუნველყოფაზე მუშაობდა. შემდეგ იგი დააწინაურეს და ხელმძღვანელი გახდა გუნდისა, რომელიც პილოტირებული მისიებისთვის ბორტკომპიუტერის პროგრამულ უზრუნველყოფას ქმნიდა. 1968 წლისთვის ჰამილტონი მართვისა და მომსახურების მოდულის გუნდს ხელმძღვანელობდა და დირექტორის ასისტენტის პოზიციას იკავებდა. ამ დროს Apollo-ს პროგრამულ უზრუნველყოფაზე 400-ზე მეტი ადამიანი მუშაობდა.

მარგარეტ ჰამილტონი დაბეჭდილი კოდის დასტასთან, 1969 წელი

ფოტო: AP

"ჩემი გადმოსახედიდან, პროგრამულ უზრუნველყოფასთან მუშაობის გამოცდილება (მისი დიზაინის შექმნა, განვითარება, დახვეწა, მუშაობის პროცესზე დაკვირვება და მომავალი სისტემებისთვის მისგან სწავლა) ისეთივე საინტერესო იყო, როგორიც მისიის ირგვლივ განვითარებული მოვლენები", — განუცხადა ჰამილტონმა MIT News-ს 2009 წელს.

"მეორე შანსი არ გვქონდა და ეს ვიცოდით. ჩვენს საქმეს სერიოზულად ვეკიდებოდით, ბევრმა ჩვენგანმა ეს მოგზაურობა 20-იანი წლების ასაკში დაიწყო. გამოსავლისა და ახალი იდეების პოვნა ნამდვილი თავგადასავალი იყო. თავდადება და ვალდებულების გრძნობა თავისთავად იგულისხმებოდა. ყველგან ორმხრივი პატივისცემა სუფევდა. რადგან პროგრამული უზრუნველყოფა საიდუმლოებით მოცული რამ, შავი ყუთი, იყო, უმაღლესმა მენეჯმენტმა სრული თავისუფლება და ნდობა მოგვანიჭა. გზა უნდა გვეპოვა და ვიპოვეთ კიდეც. წარსულს რომ ვუყურებ, მსოფლიოში ყველაზე იღბლიანი ადამიანები ვიყავით. პიონერობის გარდა, სხვა არჩევანი არ გვქონდა".

პროგრამული უზრუნველყოფა, რომელმაც მთვარეზე დაგვსვა

ჰამილტონმა საკუთარ თავში ლიდერობის ნიჭი აღმოაჩინა. პრობლემების გადაჭრისა და კრიტიკული აზროვნების მძაფრი ინსტინქტიც გამოავლინა და ამან პროექტი Apollo არაერთხელ იხსნა კრახისგან.

ერთხელ ინციდენტი მოხდა, რომელსაც "ლორენის შეცდომა" შეარქვეს: ერთ დღეს მარგარეტის შვილი ლორენი, რომელიც მაშინ ოთხი წლის იყო, ინსტრუმენტაციის ლაბორატორიაში მართვის მოდულის სიმულატორით თამაშობდა. სიმულატორი ფრენის პროცესში იყო, როცა ლორენმა როგორღაც გაშვებისწინა პროგრამა, სახელად P01, გაააქტიურა. შედეგად სიმულატორი მთლიანად გაითიშა. ჰამილტონმა ტექნიკურ დოკუმენტაციაში პროგრამული დანამატი შექმნა, რომელიც მომხმარებლებს აფრთხილებდა, რომ P01 ფრენის დროს არ გაეაქტიურებინათ.

რეალური მისიის დროს რომ ეს შეცდომა თავიდან აეცილებინათ, ჰამილტონმა პროგრამული უზრუნველყოფის შესწორებაც შეიმუშავა. ხელმძღვანელობამ ეს წინადადება იმ დასაბუთებით უარყო, რომ მაღალკვალიფიციური ასტრონავტები ამავე შეცდომას არასდროს დაუშვებდნენ.

და მაინც, 1968 წელს Apollo 8 მისიის დროს ზუსტად ეს მოხდა. ჯიმ ლოველმა ფრენისას P01 შემთხვევით გაააქტიურა, შედეგად კი ფრენის სანავიგაციო მონაცემები წაიშალა. შეცდომის გამოსასწორებლად ჰამილტონი და მისი გუნდი გამოიძახეს. ამის შემდეგღა შეიტანეს მათ მისი შეთავაზებული ცვლილებები პროგრამაში. ეს "თავდაცვითი" პროგრამირების ერთ-ერთი ადრეული მაგალითი იყო — პრაქტიკის, რომლის ფარგლებშიც პროგრამულ უზრუნველყოფას დამოუკიდებლად შეუძლია შეცდომების პროგნოზირება ან გამოსწორება.

მარგარეტ ჰამილტონი Apollo-ს მართვის მოდულის მაკეტში, 1969 წელი

ფოტო: AP

ჰამილტონს ძირითადად Apollo 11-ის გადამწყვეტ მისიაში შეტანილი წვლილისთვის ვიცნობთ, როცა 1969 წლის ივლისში ეკიპაჟი მთვარეზე უნდა დამჯდარიყო. სანამ Eagle მოდელი მთვარის ზედაპირზე დაეშვებოდა, რამდენიმე წუთით ადრე ბორტკომპიუტერმა განგაში ატეხა. მან ე. წ. შეცდომა 1202 დააფიქსირა: აპარატული უზრუნველყოფის ჩამრთველის გაუმართაობის გამო კომპიუტერი გადაიტვირთა და საშიშროება გაჩნდა, რომ სისტემა დაშვების რთულ პროცედურას ვერ გაუმკლავდებოდა.

ჰამილტონს და მის გუნდს პრიორიტეტებზე დაფუძნებული პროგრამული უზრუნველყოფა უკვე შექმნილი ჰქონდათ. ამ სისტემას არასაჭირო ფონური ამოცანების გათიშვა შეეძლო, რომ პრიორიტეტი მისიისთვის კრიტიკულად მნიშვნელოვან დავალებებს მინიჭებოდა. ჰიუსტონი ჰამილტონის პროგრამულ უზრუნველყოფას ენდო და მისიის გაგრძელების ნებართვა გასცა. ორმა ადამიანმა მთვარეზე პირველად გაიარა.

კარიერა Apollo-ს შემდეგ

ჰამილტონმა ინსტრუმენტაციის ლაბორატორიაში მუშაობა 1970-იან წლებშიც გააგრძელა. პროგრამა Apollo-ს დასრულების შემდეგ ინსტრუმენტაციის ლაბორატორია MIT-ს გამოეყო და დამოუკიდებელი ლაბორატორია გახდა. მას Draper Laboratory დაერქვა.

მარგარეტმა 1976 წელს პროგრამული უზრუნველყოფის თავისი პირველი კომპანია დააფუძნა, სახელად Higher Order Software. ათი წლის შემდეგ პროგრამული უზრუნველყოფის კიდევ ერთი კომპანია, Hamilton Technologies, დააარსა.

მარგარეტ ჰამილტონი მთელი კარიერის განმავლობაში აქტიურად მუშაობდა, რომ პროგრამული უზრუნველყოფის ინჟინერიას დამოუკიდებელი დისციპლინის სტატუსი და აღიარება მოეპოვებინა.

"ვიბრძოდი პროგრამული უზრუნველყოფის ლეგიტიმაციისთვის, რათა მისთვის — და მისი შემქმნელებისთვის — სათანადო პატივი მიეგოთ. პროგრამული უზრუნველყოფის ინჟინერიის მოხსენიება დავიწყე, რომ იგი აპარატული თუ სხვა სახის ინჟინერიისგან გამემიჯნა, ამავდროულად კი ინჟინერიის თითოეულ ტიპს სისტემების ინჟინერიის საერთო პროცესის ნაწილად განვიხილავდი", — განუცხადა ჰამილტონმა ესპანურ გამოცემა El Pais-ს 2018 წელს — "ამ ფრაზის გამოყენება რომ დავიწყე, საკმაოდ სასაცილოდ მიაჩნდათ. დიდი ხნის განმავლობაში იყო ხუმრობის საგანი. ჩემს რადიკალურ იდეებზე ხუმრობა მოსწონდათ. პროგრამულმა უზრუნველყოფამ საბოლოოდ უთუოდ მოიპოვა ისეთივე პატივისცემა, როგორიც ნებისმიერმა სხვა დისციპლინამ".

სიცოცხლის ბოლო წლებში ჰამილტონი მეცნიერებასა და ტექნოლოგიებში მოღვაწე ქალებისთვის კერპად იქცა. ეს განსაკუთრებით მას შემდეგ მოხდა, რაც ინტერნეტში მისი აწ უკვე ფართოდ ცნობილი ფოტო გავრცელდა. იგი Apollo-სთვის MIT-ის გუნდის მიერ დაწერილი კოდის გვერდით დგას.

სხვათა შორის, 2015 წელს Apollo-ს პროგრამული უზრუნველყოფა, რომლის შექმნაშიც დიდი წვლილი ჰამილტონს მიუძღვის, პლატფორმა GitHub-ზე სრულად დაემატა. 2017 წელს მარგარეტი Lego-ს ოფიციალური მინიფუგურაც გახდა.

მარგარეტ ჰამილტონის სიკვდილი 2026 წლის 8 ოქტომბერს დაადასტურა MIT-მა. მისი გამოსამშვიდობებელი ცერემონია გაზაფხულზე დაიგეგმა მასაჩუსეტსის შტატის ქალაქ კემბრიჯში.

თუ სტატიაში განხილული თემა და ზოგადად: მეცნიერებისა და ტექნოლოგიების სფერო შენთვის საინტერესოა, გამოიწერე ჩვენი ინსტაგრამი.