Διαφορά κλειδιών: Οι διερμηνείς μεταφράζουν οδηγίες προγραμματισμού υψηλού επιπέδου σε ενδιάμεσους κώδικες και στη συνέχεια εκτελούν τους προκύπτοντες κωδικούς. Οι μεταγλωττιστές μεταφράζουν κώδικες γλώσσας προγραμματισμού υψηλού επιπέδου στους κώδικες αντικειμένων. Οι διερμηνείς εκτελούν γραμμή κώδικα κατά γραμμή, ενώ οι μεταγλωττιστές εκτελούν τα προκύπτοντα αρχεία.
Ο διερμηνέας και ο μεταγλωττιστής διαδραματίζουν πολύ σημαντικό ρόλο στην εκτέλεση προγραμμάτων σε μια γλώσσα υπολογιστών. Πολλοί άνθρωποι έχουν την τάση να πιστεύουν ότι και οι δύο είναι παρόμοιες μεταξύ τους. Ωστόσο, και οι δύο διαφέρουν σε διάφορα πλαίσια.
Η μεγαλύτερη διαφορά μεταξύ των δύο είναι ότι ένας μεταγλωττιστής μεταβάλλει απευθείας τον πηγαίο κώδικα στη γλώσσα του μηχανήματος, ενώ ένας διερμηνέας παράγει έναν μεσαίο κώδικα και στη συνέχεια εκτελεί αυτόν τον κώδικα για να σχηματίσει ένα μη κατανοητό από τη μηχανή κώδικα. Οι διερμηνείς και οι μεταφραστές έχουν το ίδιο καθήκον να μεταφράζουν τον πηγαίο κώδικα στον κώδικα μηχανής, αλλά διαφέρουν ως προς τα μέσα επίτευξης αυτής της μετάφρασης. Οι συμμορφούμενοι διαθέτουν διαγνωστικές δυνατότητες και έτσι, κατά την κατάρτιση ενός προγράμματος υψηλού επιπέδου, μπορούν να προωθήσουν κατάλληλα μηνύματα σφάλματος. Στην περίπτωση ενός διερμηνέα, ο αντικειμενικός κώδικας δεν αποθηκεύεται και επομένως δεν μπορεί να επαναχρησιμοποιηθεί.
Ένας μεταγλωττιστής παράγει έναν κώδικα αντικειμένου πριν δημιουργήσει ένα εκτελέσιμο αρχείο για το ίδιο. Το προγραμματισμένο πρόγραμμα εκτελείται απευθείας χρησιμοποιώντας τον κώδικα αντικειμένου. Από την άλλη πλευρά, ένας διερμηνέας
Μεταγλωττιστής | Διερμηνέας | |
Ορισμός | Εκπαίδευση υψηλού επιπέδου σε γλώσσα μηχανής | Οδηγία υψηλού επιπέδου σε έναν ενδιάμεσο κώδικα |
Εκτέλεση | Πλήρες πρόγραμμα ταυτόχρονα | Γραμμή προς γραμμή |
Ταχύτητα | Γρήγορα | Αργός |
Κόστος | Χαμηλό κόστος | Πιο λιγο |
Χρήση μνήμης | Περισσότερο | Συνήθως μεγάλο χρηματικό ποσό |
Μη εξουσιοδοτημένη τροποποίηση | Δύσκολο (Για να κατανοήσετε τη ροή του προγράμματος είναι μια σύνθετη εργασία) | Εύκολη (Για να κατανοήσετε τη ροή του προγράμματος είναι ένα απλό έργο) |
Debugging | Δύσκολος | Εύκολος |
Εκτέλεση του προκύπτοντος κώδικα | Από το υλικό του υπολογιστή | Από άλλο πρόγραμμα |
Παράδειγμα | C μεταγλωττιστή | ΒΑΣΙΚΟΣ |
Υπολογιστής που τρέχει | Οποιος | Εγκαταστάθηκε ο διερμηνέας |