Margaret Hamilton: Η γυναίκα που έμαθε στους υπολογιστές να μην πανικοβάλλονται
Πριν οι άνθρωποι πατήσουν στη Σελήνη, κάποια έπρεπε να προβλέψει τι θα συνέβαινε αν όλα πήγαιναν στραβά. Η Margaret Hamilton το έκανε αυτό.
Πριν οι άνθρωποι πατήσουν στη Σελήνη, κάποια έπρεπε να προβλέψει τι θα συνέβαινε αν όλα πήγαιναν στραβά. Η Margaret Hamilton το έκανε αυτό.
Υπάρχει μια φωτογραφία της Margaret Hamilton που πιθανότατα έχει πάρει το μάτι σου να κυκλοφορεί στο ίντερνετ. Είναι νέα, φορά ένα ριγέ φόρεμα και στέκεται χαμογελαστή δίπλα σε μια στοίβα χαρτιών ίσα με το μπόι της. Τα χαρτιά είναι εκτυπωμένος κώδικας. Όχι οποιοσδήποτε κώδικας: είναι το software που ανέπτυξε η ομάδα της για τα διαστημόπλοια του προγράμματος Apollo.
Η φωτογραφία τραβήχτηκε το 1969. Την εποχή, δηλαδή, που το software ήταν ακόμα τόσο καινούριο που πολλοί μηχανικοί δεν το θεωρούσαν καν… μηχανική. Η Hamilton πέρασε μεγάλο κομμάτι της καριέρας της προσπαθώντας να τους αλλάξει γνώμη. Τα κατάφερε σε βαθμό τέτοιο, που σήμερα θεωρείται μία από τους ανθρώπους που θεμελίωσαν το software engineering ως ξεχωριστό επιστημονικό πεδίο. Πέθανε πριν από λίγες μέρες, στις 30 Σεπτεμβρίου 2026, σε ηλικία 90 ετών.
Δείτε αυτή τη δημοσίευση στο Instagram.Η δημοσίευση κοινοποιήθηκε από το χρήστη The New York Times (@nytimes)
Γεννημένη το 1936 στην Ιντιάνα, η Hamilton σπούδασε Μαθηματικά, με minor στη Φιλοσοφία, στο Earlham College. Το 1959 βρέθηκε στη Βοστώνη και έπιασε προσωρινά δουλειά στο MIT, γράφοντας προγράμματα πρόγνωσης καιρού για τον μετεωρολόγο Edward Lorenz, τον άνθρωπο που αργότερα θα γινόταν διάσημος για τη θεωρία του χάους.
Από εκεί πέρασε στο Lincoln Laboratory του MIT και στο πρόγραμμα SAGE, ένα τεράστιο για τα δεδομένα της εποχής σύστημα αεράμυνας που χρησιμοποιούσε υπολογιστές για να εντοπίζει πιθανές εχθρικές επιθέσεις. Εκεί άρχισε να την απασχολεί κάτι που έμελλε να γίνει η εμμονή μιας ολόκληρης καριέρας: Τι γίνεται όταν ένας υπολογιστής κάνει λάθος; Και, ακόμη σημαντικότερο, τι γίνεται όταν λάθος κάνει ο άνθρωπος που τον χρησιμοποιεί;
Το 1965, η Hamilton είδε μια αγγελία για κόσμο που θα δούλευε στο πρόγραμμα που φιλοδοξούσε να «στείλει άνθρωπο στη Σελήνη». Έκανε αίτηση και έγινε η πρώτη programmer που προσλήφθηκε στο MIT για το Apollo, καθώς επίσης και η πρώτη γυναίκα programmer του προγράμματος. Μέχρι το 1968 ήταν assistant director και επικεφαλής της ομάδας για το λογισμικό του Command and Service Module, σε μια επιχείρηση στην οποία εργάζονταν πλέον εκατοντάδες άνθρωποι.
Το ενδιαφέρον εδώ δεν είναι μόνο ότι μια γυναίκα βρέθηκε τόσο ψηλά σε έναν κόσμο μηχανικών της δεκαετίας του '60. Είναι και ο τρόπος με τον οποίο σκέφτηκε το πρόβλημα.
Η Hamilton δεν ήθελε προγράμματα που λειτουργούσαν άψογα εφόσον όλοι έκαναν ακριβώς αυτό που έπρεπε. Ήθελε προγράμματα που θα συνέχιζαν να λειτουργούν όταν κάποιος έκανε κάτι απρόβλεπτο.
Και σε αυτή την ιστορία πρωταγωνιστεί, κάπως υπέροχα, ένα τετράχρονο κορίτσι.
Η Hamilton εργαζόταν συχνά βράδια και Σαββατοκύριακα και έπαιρνε μαζί της στο εργαστήριο την κόρη της, Lauren. Μια μέρα, η Lauren έπαιζε στον προσομοιωτή του Command Module και ενεργοποίησε κατά τη διάρκεια μιας εικονικής πτήσης ένα πρόγραμμα που προοριζόταν για πριν από την εκτόξευση. Ο προσομοιωτής κατέρρευσε.
Η Hamilton σκέφτηκε ότι το ίδιο λάθος θα μπορούσε κάλλιστα να κάνει και ένας αστροναύτης, και πρότεινε να προστεθεί προστασία στο software. Η απάντηση που πήρε ήταν ότι οι αστροναύτες ήταν τόσο καλά εκπαιδευμένοι –δεν θα έκαναν ποτέ τέτοιο λάθος.
Το 1968, κατά τη διάρκεια του προγράμματος Apollo 8, ο Jim Lovell έκανε ακριβώς αυτό το λάθος.
Η Hamilton και η ομάδα της κατάφεραν να ανακτήσουν τα χαμένα δεδομένα πλοήγησης και, στις επόμενες αποστολές, η προστασία που είχε αρχικά προτείνει ενσωματώθηκε στο σύστημα. Ήταν ένα πρώιμο, θαυμάσιο παράδειγμα αυτού που σήμερα ονομάζουμε defensive programming: δεν σχεδιάζεις για τον ιδανικό χρήστη σε έναν ιδανικό κόσμο. Σχεδιάζεις γνωρίζοντας ότι ο κόσμος είναι γεμάτος ανθρώπους, και οι άνθρωποι πατάνε λάθος κουμπιά.
Η φιλοσοφία αυτή απέδειξε την αξία της στις 20 Ιουλίου 1969: Καθώς το Eagle του Apollo 11 κατέβαινε προς τη Σελήνη, ο υπολογιστής του άρχισε να βγάζει προειδοποιητικά μηνύματα, μεταξύ των οποίων το περίφημο 1202. Το σύστημα είχε υπερφορτωθεί με περισσότερες εργασίες απ' όσες μπορούσε να επεξεργαστεί.
Σε έναν λιγότερο έξυπνα σχεδιασμένο υπολογιστή, το αποτέλεσμα θα μπορούσε να είναι καταστροφικό. Το software της ομάδας της Hamilton, όμως, είχε σχεδιαστεί ώστε να αναγνωρίζει ποιες εργασίες ήταν κρίσιμες, να εγκαταλείπει όσες μπορούσαν να περιμένουν και να συνεχίζει με τις απαραίτητες για την προσελήνωση. Το Mission Control έδωσε το «go». Λίγα λεπτά αργότερα, ο Armstrong και ο Aldrin πατούσαν στη Σελήνη.
Οι δύο άνδρες ήταν αυτοί που εμφανίστηκαν στις φωτογραφίες από εκείνη την ημέρα. Πίσω από την εικόνα, όμως, υπήρχαν εκατοντάδες άνθρωποι και ανάμεσά τους μια 32χρονη μαθηματικός που είχε επιμείνει ότι ένα πρόγραμμα δεν αρκεί να δουλεύει όταν όλα πάνε καλά. Πρέπει να ξέρει τι να κάνει και όταν όλα πάνε λάθος.
Η Hamilton άρχισε να χρησιμοποιεί τον όρο «software engineering» επίμονα, ακριβώς επειδή θεωρούσε πως το software δεν αντιμετωπιζόταν με την ίδια σοβαρότητα που αντιμετωπιζόταν το hardware. Σε συνεντεύξεις της αργότερα, θυμόταν ότι ο όρος χρησιμοποιούταν για χρόνια σαν αστείο από συναδέλφους της. Τελικά, βέβαια, το αστείο έγινε ολόκληρος επιστημονικός κλάδος.
Μετά το Apollo, η Hamilton ίδρυσε δύο εταιρείες, τη Higher Order Software το 1976 και τη Hamilton Technologies το 1986, συνεχίζοντας να δουλεύει πάνω στην αξιοπιστία, την πρόληψη σφαλμάτων και τον σχεδιασμό σύνθετων συστημάτων. Το 2016 ο Barack Obama της απένειμε το Presidential Medal of Freedom, ενώ έναν χρόνο αργότερα η Margaret Hamilton απέκτησε και κάτι ίσως ελαφρώς πιο απροσδόκητο: τη δική της φιγούρα Lego, στο σετ Women of NASA.
Έζησε αρκετά ώστε να δει εκείνο το «αστείο» επάγγελμα να γίνεται ένα από τα σημαντικότερα του κόσμου, και τη φωτογραφία της δίπλα στη στοίβα του κώδικα να αποκτά τη θέση της στην ιστορία της τεχνολογίας.