"Institute of Educational Policy" Books
7.3.6 Ιστορία γλωσσών υψηλού επιπέδου
Στη συνέχεια θα αναφερθούμε με συντομία σε μερικές από τις πιο γνωστές γλώσσες υψηλού επιπέδου. Πρέπει να σημειωθεί ότι ο αριθμός των γλωσσών υψηλού επιπέδου είναι εξαιρετικά μεγάλος, αν και μόνο ένας μικρός αριθμός από αυτές καταφέρνει να γίνει αποδεκτός από τους κατασκευαστές προγραμμάτων. Πολλές παραμένουν απλά ερευνητικά εργαλεία.
FORTRAN
Η FORTRAN σχεδιάστηκε αρχικά γύρω στο 1954 από μια ομάδα της IBM, με επικεφαλής τον John Backus. Στόχος τους ήταν η κατασκευή μιας γλώσσας υπολογισμού αλγεβρικών παραστάσεων. Η FORTRAN (FORmula TRANslation -Μετάφραση Μαθηματικών Τύπων) ολοκληρώθηκε το 1957 και έγινε πολύ γρήγορα δημοφιλής σε μεγάλο βαθμό χάρη στην υποστήριξη της IBM, η οποία την προσέφερε δωρεάν.
ALGOL
Η ALGOL (1963) υπήρξε μια γλώσσα που δεν έγινε ιδιαίτερα γνωστή, κατάφερε όμως να επηρεάσει βαθύτατα το σχεδιασμό των γλωσσών προγραμματισμού και να δημιουργήσει ολόκληρη γενιά γλωσσών παρόμοιων με την ALGOL (ALGOL like). Κι αυτό γιατί υλοποίησε αξιόλογες ιδέες προγραμματισμού, όπως είναι ο δομημένος προγραμματισμός στον οποίο θα αναφερθούμε και σε άλλο σημείο αυτού του κεφαλαίου.
COBOL
Η COBOL (CΟmmon Business Oriented Language - Κοινή Γλώσσα Εμπορικού Προσανατολισμού), σχεδιάστηκε από το Υπουργείο Άμυνας των Η.Π.Α ως απάντηση στην ανάγκη για μια απλή γλώσσα προγραμματισμού, που θα μπορούσε να χρησιμοποιηθεί σε όλους τους στρατιωτικούς τομείς. Η σχεδίαση έγινε από ομάδα στην οποία συνεργάστηκαν επιστήμονες από το στρατό αλλά και τη βιομηχανία, συνεργασία που βοήθησε στην αποδοχή της από τους προγραμματιστές. Μια από τις ιδέες που εισήγαγε ήταν η απεξάρτηση της περιγραφής των δεδομένων από τη μηχανή. Στην COBOL αυτό γίνεται σε μια ενότητα του προγράμματος που ονομάζεται DATA DIVISION. Αυτή η αρχική ιδέα αργότερα οδήγησε στην επινόηση των συστημάτων διαχείρισης βάσεων δεδομένων.
BASIC
H BASIC (Beginner’s All-purpose Symbolic Instruction Code) αναπτύχθηκε από τους Kemeney και Kurtz στα μέσα της δεκαετίας του 1960, ως μια γλώσσα για τη διδασκαλία προγραμματισμού σε φοιτητές. Σήμερα, με πολλές επεκτάσεις σε σχέση με τον αρχικό σχεδιασμό, χρησιμοποιείται ως μια κανονική γλώσσα ανάπτυξης εφαρμογών. Τμήμα προγράμματος Basic Η SIMULA εμφανίστηκε το 1966 στη Νορβηγία από τους Dahl και Nygaard. Είναι γλώσσα βασισμένη στην ALGOL με βασικό τομέα εφαρμογής της την προσομοίωση.
LISP
Ξεκίνησε στα τέλη της δεκαετίας του ‘50 από τον John McCarthy και τους συνεργάτες του στο MIT. Αν και ο McCarthy συμμετείχε στη σχεδίαση της ALGOL, η LISP είναι μια τελείως διαφορετική γλώσσα με κύριο πεδίο εφαρμογής την τεχνητή νοημοσύνη.
LOGO
Σχεδιάστηκε από ομάδα ερευνητών της τεχνητής νοημοσύνης με επικεφαλής τον Seymour Papert. Έχει παιδαγωγικές προδιαγραφές για την επίλυση προβλημάτων και τη διερεύνηση εννοιών ακόμα και από μαθητές μικρής ηλικίας. Οι μηχανισμοί δημιουργίας γραφικών την καθιστούν σημαντικό εργαλείο στη διερεύνηση γεωμετρικών σχημάτων.
PASCAL
Η Pascal είναι δημιούργημα του Niclaus Wirth. Ο Wirth αρχικά συμμετείχε σε μια επιτροπή η οποία είχε ως σκοπό να βελτιώσει την ALGOL, όμως αποχώρησε μαζί μ’ εκείνους που διαφώνησαν για το τελικό αποτέλεσμα και κατασκεύασε μια δική του γλώσσα (1971). Οι στόχοι σχεδιασμού της Pascal επικεντρώθηκαν γύρω από την παροχή ορισμένων δυνατοτήτων που θα οδηγούσαν σε αποδοτικό κώδικα κατά τη μεταγλώττιση, ιδέα που τέθηκε σε εφαρμογή με αξιοθαύμαστο τρόπο.
C
Η C αναπτύχθηκε το 1972 από τους Brian Kernighan και Dennis Ritchie στα εργαστήρια της εταιρείας ΑΤ&Τ. Σχεδιάστηκε ως μια γλώσσα κατάλληλη για τη συγγραφή λειτουργικών συστημάτων. To μεγαλύτερο τμήμα του λειτουργικού συστήματος UNIX γράφτηκε σε C, πράγμα που την έκανε ταυτόσημη του UNIX. Η C συνδυάζει χαρακτηριστικά γλωσσών υψηλού επιπέδου, αλλά ταυτόχρονα επιτρέπει την πρόσβαση στις χαμηλού επιπέδου λειτουργίες του υπολογιστή. Η C έχει καθιερωθεί ως η γλώσσα προγραμματισμού για την ανάπτυξη λειτουργικών συστημάτων και λογισμικού συστήματος. Χρησιμοποιείται επίσης ευρύτατα στην κατασκευή λογισμικού εφαρμογών, αλλά και κάθε είδους λογισμικού το οποίο απαιτεί τη μέγιστη αξιοποίηση των δυνατοτήτων του υπολογιστή.
C++
H C++ είναι η εξέλιξη της C προς τη κατεύθυνση του αντικειμενοστρεφούς προγραμματισμού. Σχεδιάστηκε από τον Bjarne Stroustrup στα Bell Labs της ΑΤ&Τ. Είναι η γλώσσα που κυριαρχεί στην κατασκευή προγραμμάτων σε "παραθυρικά" περιβάλλοντα, όπως είναι αυτά των PCs και Macintosh.
SMALLTALK
Πρόκειται για λειτουργικό σύστημα και ταυτόχρονα για γλώσσα αντικειμενοστρεφούς προγραμματισμού, που αναπτύχθηκε στα εργαστήρια της εταιρείας Xerox στο Palo Alto. Θεωρείται η πρώτη, και από πολλούς η μόνη, πραγματική γλώσσα αντικειμενοστρεφούς προγραμματισμού, που θα μπορούσε να χρησιμεύσει ως πρότυπο και μέτρο σύγκρισης για τις υπόλοιπες.
ADA
Το Υπουργείο Άμυνας των Η.Π.Α στα μέσα της δεκαετίας του 70 αποφάσισε να υποστηρίξει τη σχεδίαση μιας νέας γλώσσας κατάλληλης για τον προγραμματισμό Ενσωματωμένων Υπολογιστικών Συστημάτων (Embeded Computer Systems-ECS). Οι εφαρμογές που προορίζονται για ΕΥΣ χαρακτηρίζονται από μεγάλο μέγεθος και υψηλού βαθμού πολυπλοκότητα, ενώ χρειάζονται διαρκή εξέλιξη. Συνήθως τέτοιες εφαρμογές υλοποιούνται σε συμβολική γλώσσα, οπότε έπρεπε να βρεθεί κάποιος αποδοτικότερος τρόπος. Το αποτέλεσμα της προσπάθειας ήταν η δημιουργία στις αρχές του 1980 μιας γλώσσας προγραμματισμού που ονομάστηκε Ada, προς τιμήν της Augusta Ada Byron.
JAVA
Η Java είναι δημιούργημα της εταιρείας Sun Microsystems. Σχεδιάστηκε στις αρχές της δεκαετίας του 1990, αρχικά ως μια γλώσσα για προγράμματα που θα εκτελούνταν από μικροσυσκευές με την ονομασία OAK. Η αρχική προσπάθεια απέτυχε και το 1995 η SUN τής άλλαξε το όνομα σε Java και την προσάρμοσε στις ανάγκες του παγκόσμιου ιστού και του Διαδικτύου. Από τότε γνωρίζει τεράστια επιτυχία και τείνει να γίνει η γλώσσα προγραμματισμού του Διαδικτύου.
PROLOG
Η PROLOG (PROgramming in LOGic) αναπτύχθηκε το 1973 στη Γαλλία. Βασίζεται στη μαθηματική λογική και χρησιμοποιείται όπως και η LISP κυρίως σε εφαρμογές τεχνητής νοημοσύνης.
SQL
Η SQL (Structured Query Language) αρχικά αναπτύχθηκε το 1974 από την IBM. Έχει καθιερωθεί ως η γλώσσα επικοινωνίας με τις σχεσιακές βάσεις δεδομένων. Ως εμπορικό προϊόν πρωτοεμφανίστηκε από την εταιρεία ORACLE το 1979.
Γενιές γλωσσών προγραμματισμού 3GL, 4GL
Μέχρι τώρα παρουσιάσαμε τις διάφορες γλώσσες προγραμματισμού με κάποια χρονολογική σειρά, συχνά όμως γίνεται αναφορά σε γενιές γλωσσών προγραμματισμού. Γλώσσα πρώτης γενιάς ονομάζεται η γλώσσα μηχανής. Οι συμβολικές γλώσσες θεωρείται ότι αποτελούν τη δεύτερη γενιά γλωσσών, ενώ οι γλώσσες υψηλού επιπέδου την τρίτη (3GL- 3rd Generation Language). Τέλος, γλώσσες τέταρτης γενιάς (4GL) ονομάζονται οι γλώσσες που είναι πιο κοντά στη φυσική γλώσσα απ' ό,τι οι συνήθεις γλώσσες υψηλού επιπέδου. Χρησιμοποιούνται συνήθως για πρόσβαση σε βάσεις δεδομένων. Τυπικό παράδειγμα είναι η SQL.
ΑΝSI
Με τη χρήση των γλωσσών υψηλού επιπέδου η ανάπτυξη του λογισμικού υπήρξε ραγδαία. Μεταξύ των λόγων που συνετέλεσαν σε αυτό μπορούν να αναφερθούν οι εξής: - Η εκμάθηση μιας γλώσσας προγραμματισμού έγινε ευκολότερη. - Η κατασκευή του λογισμικού έγινε απλούστερη. - Για τις πιο διαδεδομένες γλώσσες υπήρξε τυποποίηση της μορφής της γλώσσας. Έτσι προγράμματα που έχουν γραφεί σε γλώσσα υψηλού επιπέδου μπορούν να μεταφερθούν και να εκτελεστούν σε υπολογιστές με διαφορετική ΚΜΕ και άρα διαφορετική γλώσσα μηχανής. Η επίσημη τυποποίηση των διαφόρων γλωσσών γίνεται από το ANSI (American National Standard Institute). Για τους παραπάνω λόγους τόσο το κόστος ανάπτυξης όσο και το κόστος χρήσης του λογισμικού μειώθηκαν σημαντικά.