Η διαφορά μεταξύ των μεταγλωττισμένων και των ερμηνευμένων γλωσσών

Μια κοινή ερώτηση που ζητείται από τους ανθρώπους που σκέφτονται να μπαίνουν στον προγραμματισμό είναι "ποια γλώσσα πρέπει να μάθω;"

Η απάντηση στο ερώτημα αυτό είναι σχεδόν αδύνατο να απαντηθεί. Αν ψάχνετε να μάθετε να προγραμματίζετε για λόγους σταδιοδρομίας τότε είναι καλή ιδέα να δείτε τι χρησιμοποιούν όλοι οι άλλοι και να μάθουν αυτό.

Για παράδειγμα, τα τελευταία χρόνια ένας τεράστιος αριθμός χρηστών χρησιμοποιεί είτε τη .NET στοίβα που περιελάμβανε τα ASP.NET, C #, JavaScript / JQuery / AngularJS. Αυτές οι γλώσσες προγραμματισμού αποτελούν μέρος της δέσμης εργαλείων των Windows και ενώ το .NET έχει διατεθεί στο Linux δεν χρησιμοποιείται ευρέως.

Μέσα στον κόσμο του Linux, οι άνθρωποι χρησιμοποιούν Java, PHP, Python, Ruby On Rails και C.

Τι είναι μια μεταγλωττισμένη γλώσσα;

#include int main () {printf ("Hello World"); }}

Τα παραπάνω είναι ένα πολύ απλό παράδειγμα ενός προγράμματος γραμμένο στη γλώσσα προγραμματισμού C.

Το C είναι ένα παράδειγμα μιας μεταγλωττισμένης γλώσσας. Για να εκτελέσουμε τον παραπάνω κώδικα, πρέπει να το εκτελέσουμε μέσω ενός μεταγλωττιστή Γ.

Γενικά, για να γίνει αυτό, εκτελέστε την ακόλουθη εντολή στο Linux:

gcc helloworld.c -o γεια

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

Το "gcc" είναι το ίδιο πρόγραμμα επεξεργασίας (gnu c compiler).

Ένα προγραμματισμένο πρόγραμμα μπορεί να εκτελεστεί απλά τρέχοντας το όνομα του προγράμματος ως εξής:

./Χαίρετε

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

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

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

Σπάνια όμως είναι κάτι τέλειο. Εάν έχουμε συντάξει ένα πρόγραμμα C στον υπολογιστή μας Linux, δεν μπορούμε να αντιγράψουμε αυτό το compiled πρόγραμμα στον υπολογιστή μας των Windows και να περιμένουμε να εκτελεστεί το εκτελέσιμο.

Για να μπορέσουμε να εκτελέσουμε το ίδιο πρόγραμμα C στον υπολογιστή μας με Windows, θα χρειαστεί να μεταγλωττίσουμε ξανά το πρόγραμμα χρησιμοποιώντας έναν μεταγλωττιστή C σε έναν υπολογιστή με Windows.

Τι είναι μια Ερμηνευμένη Γλώσσα;

εκτύπωση ("γεια κόσμο")

Ο παραπάνω κώδικας είναι ένα πρόγραμμα python το οποίο θα εμφανίσει τις λέξεις "hello world" όταν εκτελείται.

Για να εκτελέσουμε τον κώδικα δεν χρειάζεται να το καταρτίσουμε πρώτα. Αντ 'αυτού, μπορούμε απλά να εκτελέσουμε την ακόλουθη εντολή:

python helloworld.py

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

Ο διερμηνέας του Python παίρνει τον κώδικα που διαβάζεται από τον άνθρωπο και το μετατρέπει σε κάτι άλλο πριν κάνει κάτι που μπορεί να διαβάσει το μηχάνημα. Όλα αυτά συμβαίνουν πίσω από τις σκηνές και ως χρήστης, όλα όσα θα δείτε είναι οι λέξεις "hello world".

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

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

Για ένα είναι πολύ πιο εύκολο να αποκτήσετε ένα πρόγραμμα γραμμένο σε Python για να τρέξετε σε Linux, Windows και macOS . Το μόνο που χρειάζεται να κάνετε είναι να βεβαιωθείτε ότι το python είναι εγκατεστημένο στον υπολογιστή που θέλετε να εκτελέσετε το σενάριο.

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

Με τον ερμηνευμένο κώδικα, ανοίξτε το πρόγραμμα, αλλάξτε το και είναι έτοιμο για μετάβαση.

Ποια θα έπρεπε να χρησιμοποιήσετε;

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

Αυτός ο κατάλογος ίσως αξίζει τον κόπο, καθώς απαριθμεί τις 9 πιο δημοφιλείς γλώσσες προγραμματισμού.

Ενώ ορισμένες γλώσσες πεθαίνουν σαφώς, όπως COBOL, Visual Basic και ActionScript, υπάρχουν και άλλοι που βρίσκονται στην άκρη του θανάτου και έχουν κάνει μια δραματική επιστροφή όπως το JavaScript.

Γενικά, η συμβουλή μας είναι ότι εάν χρησιμοποιείτε το Linux θα πρέπει να μάθετε Java, Python ή C και αν χρησιμοποιείτε τα Windows learn .NET και AngularJS.