computer-bug

09/ 09/ 1947 | Computer Bug

ΣΑΝ ΣΗΜΕΡΑ 09 Σεπτεμβρίου 1947, γίνεται η πρώτη αναφορά στον όρο «bug» (σ.σ. μεταφορικά το «σφάλμα λειτουργίας«). Πρόκειται για την καταγραφή σε σελίδα ημερολογίου παρακολούθησης της λειτουργίας ενός υπολογιστή Harvard Mark II, από την Γκρέις Χόπερ.

«Ώρα 15:45 – Εντοπίστηκε ο λόγος του σφάλματος στον Mark II, που οφειλόταν στο ότι μία νυχτοπεταλούδα παγιδεύτηκε σε ένα ρελέ. Το έντομο (bug) αφαιρέθηκε με προσοχή και προσκολήθηκε στο ημερολόγιο λειτουργίας»

Προφανώς, το πρώτο καταγεγραμμένο bug οφείλεται σε πραγματικό ζουζούνι. Έκτοτε, η διαδικασία αφαίρεσης των σφαλμάτων λειτουργίας αποκαλείται debugging. Μία έκφραση που στην περίπτωση του Mark II ήταν κυριολεκτική.

H καταγραφή της πρώτης περίπτωσης  (κυριολεκτικού) bug σε υπολογιστή, μαζί με το πραγματικό έντομο.
H καταγραφή της πρώτης περίπτωσης (κυριολεκτικού) bug σε υπολογιστή, μαζί με το πραγματικό έντομο.

Παρόλο που το συμβάν είναι υπαρκτό, οδηγώντας στην εντύπωση ότι ο όρος bug χρησιμοποιείται για πρώτη φορά στους υπολογιστές, η πραγματικότητα είναι διαφορετική. Η πρώτη χρήση του bug ως σφάλμα λειτουργίας αναζητείται έναν αιώνα πριν την Γκρέις Χόπερ, καθώς η έκφραση χρησιμοποιείται συχνά από πολλούς τεχνικούς και εφευρέτες. Για παράδειγμα, ο Τόμας Έντισον αναφέρει τον όρο αυτό σε ηλεκτρικά κυκλώματα, ήδη από το 1870.

Τέλος, αν και χρεώνεται το πρώτο computer bug στην Γκρέις Χόπερ, η αλήθεια είναι ότι το ανακάλυψαν χειριστές του Mark II. Μάλιστα οι μηχανικοί που το ανακάλυψαν γνώριζαν τον όρο «bug» και όπως ανέφεραν οι ίδιοι διασκέδασαν που η Γκρέις Χόπερ κόλλησε το έντομο στη σελίδα του ημερολογία με την υποσημείωση «ανακαλύφθηκε η πρώτη περίπτωση πραγματικού εντόμου (bug)«.

Σχετικά με τον Harvard Mark II (από Wikipedia)

Ο Harvard Mark II ήταν ένας ηλεκτρομηχανικός υπολογιστής, ο οποίος κατασκευάστηκε στο Πανεπιστήμιο του Χάρβαρντ σε συνεργασία με την ΙΒΜ, υπό την καθοδήγηση του καθηγητή Χάουαρντ Άικεν. Χρηματοδοτήθηκε από το Πολεμικό Ναυτικό των ΗΠΑ και ολοκληρώθηκε το 1947.

Ο Mark II κατασκευάστηκε ώστε να λειτουργεί με υψηλής ταχύτητας ηλεκτρομαγνητικές εκπομπές αντί για ηλεκτρομηχανικά ηλεκτρόδια τα οποία χρησιμοποιήθηκαν στον Mark I, κάνοντας την ανταπόκρισή του ταχύτερη σε σύγκριση με τον προκάτοχό του. Ειδικότερα, στο χρόνο επεξεργασίας δεδομένων ο Mark IΙ ήταν οκτώ φορές ταχύτερος από τον Mark I. Για την μηχανή αυτή κατασκευάστηκαν λογισμικά για τον υπολογισμό συναρτήσεων όπως λογαριθμικές, τριγωνομετρικές εκθετικές  κ.α., και ο χρόνος εκτέλεσης ήταν μεταξύ 5 και 12 δευτερολέπτων.

Ο Mark II δεν είχε φτιαχτεί ώστε να αποθηκεύει πληροφορίες, αλλά διάβαζε μια εντολή του προγράμματος τη φορά και την εκτελούσε (όπως ο Mark I). Αυτός ο διαχωρισμός εντολών και δεδομένων είναι γνωστός ως Αρχιτεκτονική Harvard. Ο Mark II είχε μια ιδιόμορφη μέθοδο προγραμματισμού, η οποία όμως εξασφάλιζε ότι τα περιεχόμενα μιας εγγραφής θα ήταν διαθέσιμα ανά πάσα στιγμή. Η ταινία, στην οποία είχε γραφτεί ο κώδικας προγραμματισμού μπορούσε να περιέχει μόλις οκτώ εντολές, οι οποίες θα έπρεπε πρώτα να εκτελεστούν και έπειτα να προχωρήσει στην ανάγνωση της επόμενης υπορουτίνας. Παρόλο που αυτή η διαδικασία, ανάγνωσης και εκτέλεσης ήταν επιτυχής, καθιστούσε τον Mark II χρονοβόρο εξαιτίας της πολυπλοκότητας της λειτουργίας του.