Το προηγούμενο post για τη SmallTalk μου ξύπνησε αναμνήσεις:
7700 δραχμές το 1991. Τόσο έκανε το “Smalltalk-80: the language”. Είχα δουλέψει σε μια οικοδομή για να μπορέσω να το αγοράσω. Έπρεπε να το διαβάσω για ένα μάθημα του Ζάχου (άλλοι είχαν να μάθουν για Modula-2, Oberon, Eiffel και άλλα εξωτικά και μόνο ο κουμπάρος μου είχε κάτι πιο συμβατικό: C++).
Ωραίο βιβλίο: Με έβαλε στο τριπάκι των γλωσσών προγραμματισμού για τα καλά. Και καθώς “τα χρόνια εκείνα” ήταν δύσκολο να προλάβει να έχει ένας προπτυχιακός πρόσβαση στα Sun του softlab, όπου και έτρεχε η (γραφική) version του Xerox PARC, έπρεπε να βρω εναλλακτικές. Και η καλύτερη εναλλακτική εκείνη την περίοδο ήταν η Little SmallTalk του Tim Budd.
Ακόμα θυμάμαι τις αφελείς ερωτήσεις που του έστελνα καθώς πολλές κλάσσεις που περιέγραφε το “SmallTalk-80: the language” δεν υποστηρίζονταν από τη δικιά του εκδοχή. Όμως τότε και ψάχνοντας λίγο στα anonymous FTP directories του Budd, έπεσα πάνω σε δύο σημαντικά για εμένα πράγματα: Το βιβλίο του “An Introduction to Object-Oriented Programming” το οποίο δανείστηκα (δε θυμάμαι εάν ήταν σε κάποια από τις βιβλιοθήκες του ΕΜΠ, ή από κάποιο καθηγητή) και το “The Kamin Interpreters in C++”.
Ποιος ήταν ο Kamin; Γιατί οι interpreters του που είχαν τόσο ενδιαφέρον ώστε να τους ξαναγράψει κάποιος σε C++;
O Samuel N. Kamin έχει γράψει το βιβλίο “Programming Languages: An Interpreter-Based Approach” (υπάρχει στη βιβλιοθήκη του ΕΜΠ), στο οποίο υλοποιεί βαθμιαία και χρησιμοποιώντας Pascal, μια σειρά από interpreters: Lisp, APL, Scheme, SASL, CLU, Smalltalk και Prolog (Μετά από χρόνια και ψάχνοντας ξανά για το βιβλίο είδα πως και ο ίδιος ο Kamin έχει κάνει μια υλοποίηση των interpreters του σε C, αλλά αυτή τη στιγμή δε μπορώ να βρω το link Η σελίδα του βιβλίου, η έκδοση σε Pascal και η έκδοση σε C).
Τώρα τον μπαμπά του “Smalltalk-80: the language”, το “Smalltalk-80: the language and its implementation”, τον δίνει δωρεάν (όπως και μερικά άλλα σημαντικά -έστω και με ιστορική μόνο αξία- βιβλία) σε μορφή PDF η ACM. Η Little SmallTalk έχει γίνει ξεχωριστό free software (MIT License) και το βιβλίο του Budd “A Little SmallTalk” είναι επίσης διαθέσιμο σαν PDF.
Oberon… τι μου θύμησες τώρα. Ήμουν ένας από αυτούς που είχαν την εργασίας τους για το μάθημα του Ζάχου σε Oberon :-). Το περασμένο καλοκαίρι, όταν και αγοράσαμε μια νέα βιβλιοθήκη για το σπίτι, άνοιγα κάποια κουτιά με βιβλία από το ΕΜΠ και έπεσα πάνω στην εργασία μου! Μεγαλεία…
Τι σου θύμησα ε; Και που να σκεφτείς πως η Oberon είναι alive and kicking! Και πως ο Wirth δίνει τις εκδόσεις κλασσικών του βιβλίων σε Oberon σε PDF για download:
. Compiler Construction
. Algorithms and Data Structures