Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου

Αναζήτηση

Βρες
Εμφάνιση

Γλώσσες προγραμματισμού

Ο προγραμματισμός σε γλώσσα μηχανής είναι ένα αρκετά χρονοβόρο έργο, στο οποίο υποβόσκουν κίνδυνοι για πολλά προγραμματιστικά λάθη:

- Είναι πολύ εύκολο να γράψει κανείς ένα λανθασμένο κώδικα εντολής, όταν μάλιστα αυτός αποτελείται από αρκετά bits. Μπορεί να γράψει π.χ. «100101» αντί για «101001» αλλοιώνοντας τελείως το νόημα της εντολής και, βέβαια, το αποτέλεσμα του προγράμματος.

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

- Σε όλες τις εντολές άλματος η διεύθυνση προορισμού είναι καθορισμένη με ακρίβεια. Αν όμως το πρόγραμμα μεταβληθεί με την εισαγωγή μίας επιπλέον εντολής ή την αφαίρεση άλλης, όλες οι εντολές άλματος που επηρεάζονται πρέπει να μετατραπούν.

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

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

Ένα πρόγραμμα σε συμβολική γλώσσα μπορεί να εκτελεστεί μόνο στον τύπο υπολογιστή για τον οποίο γράφτηκε. Για να εκτελεστεί σε οποιοδήποτε άλλο υπολογιστή πρέπει να ξαναγραφεί από την αρχή.

Για να αντιμετωπιστούν όλα αυτά τα προβλήματα, δημιουργήθηκαν οι γλώσσες προγραμματισμού υψηλού επιπέδου (high level programming languages). Στις γλώσσες αυτές, που είναι πιο κοντά στην ανθρώπινη γλώσσα και διευκολύνουν τον άνθρωπο-προγραμματιστή, κάθε εντολή αποτελεί μία πολύπλοκη λειτουργία και αντιστοιχεί σε πολλές εντολές γλώσσας μηχανής. Επίσης οι γλώσσες προγραμματισμού δεν εξαρτώνται από κάποια συγκεκριμένη αρχιτεκτονική υπολογιστή.