Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> Προγραμματισμός Υπολογιστών Γλώσσες

Πόσο διαφορετικές γλώσσες σχετίζονται με τη γλώσσα συναρμολόγησης είναι φορητές;

Ας καταθέσουμε πώς οι διαφορετικές γλώσσες σχετίζονται με τη γλώσσα συναρμολόγησης και τη φορητότητα:

Γλώσσα συναρμολόγησης:Το ίδρυμα

* χαμηλού επιπέδου: Η γλώσσα συναρμολόγησης είναι η γλώσσα προγραμματισμού χαμηλότερου επιπέδου που αλληλεπιδρά άμεσα με το υλικό του υπολογιστή. Χρησιμοποιεί μνημονικά (σύντομοι κωδικοί) για να αντιπροσωπεύει τις οδηγίες μηχανής.

* Ειδική μηχανή: Κάθε αρχιτεκτονική της CPU (όπως το x86, το χέρι κ.λπ.) έχει τη δική του μοναδική γλώσσα συναρμολόγησης. Ο κωδικός γραμμένος για μια αρχιτεκτονική δεν θα τρέξει σε άλλο.

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

Γλώσσες υψηλού επιπέδου:αφαίρεση και φορητότητα

* αφαίρεση: Οι γλώσσες υψηλού επιπέδου (όπως η Python, Java, C ++) παρέχουν υψηλότερο επίπεδο αφαίρεσης. Χρησιμοποιούν λέξεις-κλειδιά, τύπους δεδομένων και δομές ροής ελέγχου που είναι πιο αναγνώσιμες από τον άνθρωπο.

* ΣΥΝΔΕΣΕΙΣ/ΔΕΡΙΩΜΕΣ: Η μαγεία της φορητότητας συμβαίνει εδώ. Αυτά τα προγράμματα μεταφράζουν κώδικα υψηλού επιπέδου σε οδηγίες συγκεκριμένων μηχανών (γλώσσα συναρμολόγησης). Αυτή η διαδικασία ονομάζεται συλλογή (για γλώσσες όπως C, C ++, Rust) ή ερμηνεία (για γλώσσες όπως Python, JavaScript).

* Πλατφόρμα στόχου: Οι μεταγλωττιστές έχουν σχεδιαστεί για μια συγκεκριμένη πλατφόρμα -στόχο (αρχιτεκτονική και λειτουργικό σύστημα CPU). Όταν καταρτίζετε ένα πρόγραμμα υψηλού επιπέδου, ο μεταγλωττιστής δημιουργεί κώδικα μηχανής βελτιστοποιημένο για αυτόν τον στόχο.

Φορητότητα:Το εμπόδιο

* Περισσότερη φορητότητα, λιγότερο έλεγχος: Οι γλώσσες υψηλού επιπέδου προσφέρουν μεγαλύτερη φορητότητα επειδή αφαιρούν λεπτομέρειες υλικού. Ωστόσο, αυτή η αφαίρεση έρχεται με το κόστος μειωμένου ελέγχου του κώδικα μηχανής.

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

Παραδείγματα

* c/c ++: Αυτές οι γλώσσες θεωρούνται "ημι-τιμές". Ενώ έχουν σχεδιαστεί για να είναι φορητά, μπορεί μερικές φορές να απαιτούν προσαρμογές που σχετίζονται με την πλατφόρμα για να λειτουργούν άψογα σε διαφορετικά συστήματα.

* java: Η Java διαθέτει εξαιρετική φορητότητα χάρη στην φιλοσοφία "Write Once, Run anywhere". Ο κώδικας Java καταρτίζεται στο ByTecode, ο οποίος στη συνέχεια μπορεί να εκτελεστεί σε οποιαδήποτε πλατφόρμα με εικονική μηχανή Java (JVM).

* Python: Ο διερμηνέας της Python είναι διαθέσιμος σε διάφορες πλατφόρμες, καθιστώντας το εξαιρετικά φορητό.

Key Takeaway

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα