Η διαφορά μεταξύ μεταγλωττισμένων και ερμηνευμένων γλωσσών
Οι γλώσσες προγραμματισμού χωρίζονται σε δύο διαφορετικές οικογένειες: συντάχθηκε και ερμηνεύεται. Μια μεταγλωττισμένη γλώσσα κωδικοποιείται από έναν άνθρωπο και στη συνέχεια αυτός ο πηγαίος κώδικας μεταφράζεται σε γλώσσα συναρμολόγησης, έτσι ώστε το πρόγραμμα-στόχος να εκτελείται και να επιστρέφει το επιθυμητό αποτέλεσμα. Μια ερμηνευμένη γλώσσα, ωστόσο, μεταγλωττίζεται σε πραγματικό χρόνο όταν εκτελείται και συχνά χρησιμοποιεί απλούστερη και πιο φιλική προς τον άνθρωπο σύνταξη για κωδικοποίηση.
Η επιλογή ενός μεταγλωττισμένου vs. Η διερμηνευμένη γλώσσα δεν θα πρέπει να είναι σημαντικός παράγοντας όταν σκέφτεστε να μάθετε μια νέα γλώσσα προγραμματισμού.
Τι είναι μια μεταγλωττισμένη γλώσσα;

Σκεφτείτε ένα απλό πρόγραμμα, helloworld.γ, γραμμένο στο Γλώσσα προγραμματισμού C:
#περιλαμβάνω
int main()
{
printf("Hello World");
}
Η C είναι ένα παράδειγμα μεταγλωττισμένης γλώσσας. Για να εκτελέσετε τον παραπάνω κώδικα, πρέπει να τον περάσετε μέσω ενός μεταγλωττιστή C—ένα πρόγραμμα που ερμηνεύει τον κώδικά σας για να δημιουργήσει ένα δυαδικό πρόγραμμα. Για να μεταγλωττίσετε ένα απλό πρόγραμμα C στο Linux, χρησιμοποιήστε το
gcc helloworld.c -o γεια
Η παραπάνω εντολή μετατρέπει τον κώδικα από μορφή αναγνώσιμη από τον άνθρωπο σε κώδικα μηχανής που μπορεί να εκτελεστεί εγγενώς ο υπολογιστής. Ένα μεταγλωττισμένο πρόγραμμα εκτελείται εκτελώντας το όνομα του μεταγλωττισμένου προγράμματος από το κέλυφος:
./γεια σας
Δυνατά σημεία και αδυναμίες
Τα πλεονεκτήματα της χρήσης ενός μεταγλωττιστή για τη μεταγλώττιση κώδικα είναι ότι το τελικό προϊόν εκτελείται γενικά πιο γρήγορα από τον ερμηνευόμενο κώδικα, επειδή δεν χρειάζεται να μεταγλωττιστεί αμέσως ενώ εκτελείται η εφαρμογή.
Το μεταγλωττισμένο πρόγραμμα ελέγχθηκε για σφάλματα κατά τη μεταγλώττιση. Εάν υπάρχουν εντολές που δεν αρέσουν στον μεταγλωττιστή, τότε θα αναφέρονται. Αυτός ο έλεγχος σφαλμάτων σάς βοηθά να διορθώσετε όλα τα σφάλματα κωδικοποίησης προτού να έχετε ένα τελικό προϊόν με καλή λειτουργία.
Ακριβώς επειδή ένα πρόγραμμα έχει μεταγλωττιστεί με επιτυχία δεν σημαίνει ότι θα εκτελείται με τον τρόπο που περιμένετε, επομένως πρέπει να δοκιμάσετε την αίτησή σας.
Ωστόσο, ένα πρόγραμμα C που έχει μεταγλωττιστεί σε υπολογιστή Linux δεν θα εκτελείται σε υπολογιστή με Windows, επειδή ο μεταγλωττιστής περιλαμβάνει τα απαραίτητα εργαλεία για την εκτέλεση της εφαρμογής σε μια συγκεκριμένη πλατφόρμα—συνήθως, την πλατφόρμα στην οποία βρισκόταν συντάχθηκε. Για να εκτελέσετε το ίδιο πρόγραμμα C σε υπολογιστή με Windows, πρέπει να μεταγλωττίσετε ξανά το πρόγραμμα χρησιμοποιώντας έναν μεταγλωττιστή C σε υπολογιστή με Windows.
Τι είναι μια διερμηνευμένη γλώσσα;

Η Python είναι μια δημοφιλής γλώσσα διερμηνείας.
εκτύπωση ("γεια κόσμο")
Ο παραπάνω κώδικας είναι ένα πρόγραμμα python που θα εμφανίζει τις λέξεις Γειά σου Κόσμε όταν εκτελείται. Για να τρέξουμε τον κώδικα δεν χρειάζεται να τον μεταγλωττίσουμε πρώτα. Αντίθετα, μπορούμε απλά να εκτελέσουμε την ακόλουθη εντολή:
python helloworld.py
Εναλλακτικά, απλώς πληκτρολογήστε το από τον διαδραστικό διερμηνέα Python.
Αυτό το μικροσκοπικό πρόγραμμα μιας γραμμής δεν χρειάζεται να μεταγλωττιστεί πρώτα, αλλά απαιτεί την εγκατάσταση της Python σε οποιοδήποτε μηχάνημα που εκτελεί το σενάριο. Ο διερμηνέας Python παίρνει τον αναγνώσιμο από τον άνθρωπο κώδικα και τον μετατρέπει σε κάτι άλλο πριν τον κάνει κάτι που μπορεί να διαβάσει το μηχάνημα. Όλα αυτά συμβαίνουν στα παρασκήνια και ως χρήστης το μόνο που βλέπεις είναι οι λέξεις Γειά σου Κόσμε εκτυπώνεται σε τυπική έξοδο.
Δυνατά σημεία και αδυναμίες
Γενικά, ο ερμηνευμένος κώδικας εκτελείται πιο αργά από τον μεταγλωττισμένο κώδικα, επειδή ο διερμηνέας μεταφράζει το πρόγραμμα on-the-fly σε κάτι που μπορεί να χειριστεί το μηχάνημα.
Αν και αυτό το χτύπημα αποτελεσματικότητας μπορεί να φαίνεται μειονέκτημα, οι διερμηνευμένες γλώσσες είναι χρήσιμες για διάφορους λόγους. Πρώτον, είναι πολύ πιο εύκολο να εκτελέσετε ένα πρόγραμμα γραμμένο σε Python σε Linux, Windows και macOS. Το μόνο που χρειάζεται να κάνετε είναι να βεβαιωθείτε ότι η Python είναι εγκατεστημένη στον υπολογιστή που θέλετε να εκτελέσετε το σενάριο.
Ένα άλλο πλεονέκτημα είναι ότι ο κώδικας είναι πάντα διαθέσιμος για ανάγνωση και μπορεί εύκολα να αλλάξει ώστε να λειτουργεί όπως θέλετε. Με τον μεταγλωττισμένο κώδικα, πρέπει να βρείτε πού φυλάσσεται ο κώδικας, να τον αλλάξετε, να τον μεταγλωττίσετε και να επανατοποθετήσετε το πρόγραμμα. Με τον ερμηνευμένο κώδικα, ωστόσο, ανοίγετε το πρόγραμμα, το αλλάζετε και είναι έτοιμο.