Kristen Nygaard

Figure 1: O Kristen Nygaard μαζί με τον συνεργάτη του Ole-Dahl , δημιούργησαν την γλώσσα προγραμματισμού Simula , η οποία ήταν από τις πρώτες γλώσσες που έφεραν αντικειμενοστρεφή χαρακτηριστικά , όπως τα αντικείμενα , οι κλάσεις και η κληρονομικότητα, την οποία μάλιστα ο Kristen Nygaard υιοθέτησε πρώτος σαν έννοια στον χώρο του προγραμματισμού.

Ο Kristen Nygaard,σε συνεργασία με τον Ole-Johan Dahl δημιούργησαν την Simula 67 ή οποία είναι γνωστή και ως SIMULA και θεωρείται ως η πρώτη αντικειμενοστραφής γλώσσα προγραμματισμού αφού ήταν η πρώτη που έφερε χαρακτηριστικά όπως η κλάση, το αντικείμενο καθώς και έννοιες όπως η κληρονομικότητα και οι υποκλάσεις. Οι έννοιες αυτές αποτέλεσαν βάση όχι μόνο για τις περισσότερες σημερινές γλώσσες προγραμματισμού , αλλά και για την Smalltalk. Ο Nygaard ήταν εκείνος που είχε τις αρχικές ιδέες για την Simula , έτσι προχώρησε το 1960 στη δημιουργία του Νορβηγικού Κέντρου Υπολογιστών ως ερευνητικού ινστιτούτου και ήρθε σε επαφή με τον Dahl. O Kristen Nygaard μέχρι και το τέλος της ζωής του είχε αφιερώσει το επίκεντρο των ερευνών του στην αντικειμενοστρέφεια.

Αρχικά η simula προορίζοταν ως μία γλώσσα προγραμματισμού που θα μπορούσε να προσομοιώσει πολύπλοκα συστήματα. Ο Kristen και ο Dahl ενδιαφέρονταν για την προσομοίωση συστημάτων.H αρχική αυτή εκδοχή της SIMULA I, δεν θα έβρισκε απήχηση. Οπότε επέστρεψαν στην επεξεργασία της και αυτή τη φορά,θέλησαν να δημιουργήσουν μια γλώσσα προγραμματισμού που θα μπορούσε να μοντελοποιήσει αυτά τα συστήματα με τρόπο κατονοητό όχι μόνο σε προγραμμαριστές αλλά και σε άλλους συνεργάτες που δεν ήταν απαραίτητα προγραμματιστές. Με βάση την Algol-60, η Simula 67(γνωστή απλά και ως SIMULA) αναπτύχθηκε μεταξύ 1962 και 1967. Η Simula σχεδιάστηκε για να υποστηρίζει τη δημιουργία προσομοιώσεων επιτρέποντας στους προγραμματιστές να ορίζουν αντικείμενα που αντιπροσωπεύουν διαφορετικά στοιχεία του συστήματος που μοντελοποιείται και να προσδιορίζουν παράλληλα τον τρόπο με τον οποίο τα αντικείμενα αυτά αλληλεπιδρούν μεταξύ τους. Αυτή η προσέγγιση διευκόλυνε τη δημιουργία πολύπλοκων προσομοιώσεων και την τροποποίηση τους ανάλογα με τις διάφορες ανάγκες των προγραμματιστών.

Αυτό που έκανε την Simula να ξεχωρίσει κατά πολύ από τις υπόλοιπες γλώσσες προγραμματισμού εκείνη την εποχή ήταν πέρα από τα αντικείμενα και τις κλάσεις , η κληρονομικότητα. Ο Kristen Nyygard είναι αυτός που πρώτος δημιούργησε την έννοια κληρονομικότητα και συνειδητοποίησε ότι ίδια έλυνε ένα μεγάλο πρόβλημα που μαζί με τον Dahl αντιμετώπιζαν κατά την διάρκεια δημιουργίας της Simula. Παράλληλα , η έννοια αυτή όπως γνωρίζουμε και σήμερα είναι κρίσιμη καθώς δίνει την δυνατότητα επαναχρησιμοποιήσης μπλοκ κώδικα , με αποτέλεσμα να αποφέυγονται οι άσκοπες επαναλήψεις γραμμών κώδικα και το τελικό αποτέλεσμα να είναι πιο απλοποιημένο και περιεκτικό. Η κληρονομικότητα επιτρέπει τη δημιουργία μιας ιεραρχίας κλάσεων που μοιράζονται κοινά χαρακτηριστικά και συμπεριφορά, καθιστώντας τον κώδικα πιο οργανωμένο και ευκολότερο στη συντήρηση. Η έννοια αυτή άνοιξε τον δρόμο στον σχεδιασμό πιο ευέλικτων συστημάτων και αποτελεί μία από τις θεμελιώδεις έννοιες του αντικειμενοστραφούς προγραμματισμού.

Οι δύο ιδρυτές της Simula μετά την ανάπτυξη της ακολούθησαν διαφορετικές πορείες.Ο Kristen Nygaard άρχισε να ενδιαφέρεται για τη χρήση των συστημάτων υπολογιστών στην κοινωνία και επικεντρώθηκε στην χρήση συστημάτων υπολογιστών σε τομείς όπως η εκπαίδευση. Με τον Dahl, παρέμειναν φίλοι και συνέχισαν να συνεργάζονται σε δίαφορα έργα, όπως η δημιουργία του Σκανδιναβικού Σχολείου Ανάπτυξης Συστημάτων, που είχε ως στόχο να προωθήσει μια πιο ολιστική προσέγγιση στην ανάπτυξη λογισμικού,δίνοντας έμφαση στην συμμετοχική διαδικασία ανάπτυξης του και με επίκεντρο τον χρήστη. Παράλληλα , μέσω του οργανισμού ο Nygaard προσπάθησε να εμπλέξει τους τελικούς χρήστες στη διαδικασία σχεδιασμού και ανάπτυξης του λογισμικού και να δημιουργήσει συστήματα που να ευθυγραμμίζονται περισσότερο με τις ανάγκες των χρηστών τους.

Μέσα στην δεκαετία του 1990 ο Nygaard ηγήθηκε του COOL project (COrporate Open Learning) που είχε ως στόχο να εισαγάγει την τεχνολογία των υπολογιστών στις νορβηγικές επιχειρήσεις. Το project COOL περιλάμβανε την ανάπτυξη πολλών εργαλείων λογισμικού που προορίζονταν να είναι εύχρηστα για άτομα χωρίς μεγάλη εμπειρία προγραμματισμού. Αυτά τα εργαλεία περιελάμβαναν ένα πρόγραμμα δημιουργίας γραφικών διεπαφής χρήστη, ένα σύστημα διαχείρισης βάσεων δεδομένων και μια γλώσσα προγραμματισμού που ονομάζεται “NGL” (Nygaard’s Graphics Language) η οποία σχεδιάστηκε ειδικά για τη δημιουργία διεπαφών χρήστη. Το project COOL θεωρήθηκε πρωτοποριακό εκείνη την εποχή, καθώς τόνιζε τη σημασία του σχεδιασμού συστημάτων με επίκεντρο τον χρήστη καθώς και τη χρήση λογισμικού ως μέσου υποστήριξης των διαδικασιών ανθρώπινης εργασίας.

Πέρα από την πολύτιμη προσφορά του στον αντικειμενοστραφή προγραμματισμό ο Kristen ήταν ένθερμος υποστηρικτης της συνεργατικότητας, γεγονός που διαφαίνεται και από την ομαδική δημιουργία της Simula. Επομένως, στα πλαίσια των εργαλείων για την κατασκευή λογισμικού, ο Nygaard , άφησε στα χέρια μας ένα από τα πιο πολύτιμα, αυτό της αντικειμενοστρέφειας. O Alan Kay εμπνέυστηκε από της βασικές ιδέες που είχαν εισάγει πολύ νωρίς η Simula(1967) και το Sketchpad(1988) και σε συνδιασμό με την πρωτοπόρα θεώρηση του Alan για την επικοιωνία των αντικειμένων, είχε ως αποτέλεσμα να φτάσει στην δημιουργία της Smalltalk που ήταν η πρώτη ολοκληρωμένη αντικειμενοστραφής γλώσσα αφού πέρα από την κληρονομικότητα, υποστήριζε και τις υπόλοιπες αρχές της αντικειμενοστρέφειας, τον πολυμορφισμό και την ενθυλάκωση. Ο Kay είχε σε υψηλή εκτίμηση τόσο τον Ole-Dahl όσο και τον Kristen Nyygard. O Kristen Nygaard και ο Alan Kay μπορεί να είχαν διαφορετικές βλέψεις όσον αφορά τον αντικειμενοστραφή προγραμματισμό , ωστόσο τους ενώνε το κοινό όραμα της χρήσης των υπολογιστών για την νοητική ενδυνάμωση των ανθρώπων και την υποστήριξη της δημιουργικότητας.