Μετάβαση στο περιεχόμενο

Ιστορία γλωσσών προγραμματισμού

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

Ο ψηφιακός υπολογιστής μπορεί να χρησιμοποιήσει μόνο δυαδικούς αριθμούς και να εκτελέσει διαδοχικά εντολές που του δίνονται κι αυτές με μορφή δυαδικού αριθμού. Τα προγράμματα που φτιάχνονται με τέτοιες εντολές λέμε πως φτιάχνονται σε γλώσσα μηχανής. Όταν, για παράδειγμα, θέλουμε να αυξήσουμε το περιεχόμενο κάποιου καταμετρητή Ν κατά 2, δίνουμε εντολές σε γλώσσα μηχανής, που μοιάζουν κάπως έτσι:

000001000000001100101011 001000000000000000010000 000010000000001100101011

Αυτές οι μεγάλες σειρές από 0 και 1 ήταν κουραστικές για τον άνθρωπο. Θα βελτιωνόταν κάπως η κατάσταση, αν γράφονταν οι εντολές αυτές με οκταδικούς αριθμούς:

01001453 10000020 02001453

Έτσι οι εντολές διαβάζονταν λίγο πιο εύκολα, πάλι όμως δεν ήταν απλό να δει κανείς αμέσως ποια δουλειά έκαναν αυτές οι εντολές. Επίσης, αν ήθελαν οι προγραμματιστές να κάνουν διορθώσεις, προσθήκες και διαγραφές εντολών σε πρόγραμμα γραμμένο σε γλώσσα μηχανής, αντιμετώπιζαν τεράστιες δυσκολίες σε μια διαδικασία πολύ ευάλωτη από λάθη. Επινοήθηκε λοιπόν μια συμβολική γλώσσα για τις εντολές που καταλάβαινε ο υπολογιστής και γράφτηκε ένα συμβολομεταφραστικό πρόγραμμα (assembler), που μετέτρεπε ένα πρόγραμμα συμβολικής γλώσσας σε ένα πρόγραμμα σε γλώσσα μηχανής.

Το προηγούμενο παράδειγμα θα έμοιαζε σε μια υποθετική συμβολική γλώσσα κάπως έτσι:

LDA N ;Ν ΕΙΝΑΙ Ο ΜΕΤΡΗΤΗΣ

ADD +2 ;ΑΥΞΑΝΕΤΑΙ ΚΑΤΑ 2 Ο Ν

STA N ;ΑΠΟΘΗΚΕΥΕΤΑΙ Η ΝΕΑ ΤΙΜΗ ΣΤΟ Ν

Εδώ, εκτός από τις εντολές προγράμματος στο αριστερό μέρος, υπάρχουν και μερικά επεξηγηματικά σχόλια, (που ο συμβολομεταφραστής τα αγνοεί), που βοηθάνε πολύ στην φάση συντήρησης του προγράμματος.

Παρ’ όλα αυτά όμως, επειδή τα προγράμματα δεύτερης γενιάς (αυτά σε συμβολική γλώσσα) είχαν ακριβώς τόσες εντολές όσες είχαν και τα αντίστοιχα προγράμματα σε γλώσσα μηχανής, η ανάπτυξη μεγάλων προγραμμάτων ήταν δύσκολη. Έτσι φτιάχτηκαν οι γλώσσες τρίτης γενιάς, όπως είναι η FORTRAN, όπου ενώ οι προγραμματιστές έδιναν μόνο μια εντολή, (το Ν να γίνει όσο ήταν συν 2), αναλάμβανε ένα πρόγραμμα - μεταφραστής (compiler) να την αναλύσει σε περισσότερες εντολές σε συμβολική γλώσσα (και σε γλώσσα μηχανής):

Ν = Ν + 2

Εκτός από το ότι έτσι γράφονταν λιγότερες εντολές για το ίδιο πρόγραμμα, δημιουργήθηκαν και γλώσσες ανώτερου επίπεδου που έμοιαζαν περισσότερο με φυσική γλώσσα. Το ίδιο παράδειγμα σε γλώσσα COBOL θα μπορούσε να γραφτεί έτσι:

ADD 2 TO COUNTER–N .

Το ίδιο παράδειγμα σε γλώσσα C θα μπορούσε να γραφτεί έτσι:

N += 2;


Στην εκπαιδευτική γλώσσα προγραμματισμού "ΓΛΩΣΣΑ", που διαθέτει τις εντελώς απαραίτητες εντολές για εξάσκηση στον προγραμματισμό, η εντολή εκχώρησης τιμής γράφεται έτσι:

Ν <- Ν + 2

Σημαίνει «κάνε τις πράξεις στην έκφραση στο δεξιό από το βελάκι μέρος και βάλε την προκύπτουσα τιμή στην μεταβλητή που βρίσκεται στο αριστερό μέρος».

Εξωτερικοί σύνδεσμοι

[Επεξεργασία | επεξεργασία κώδικα]