Γλώσσα συναρμολόγησης:Το ίδρυμα
* χαμηλού επιπέδου: Η γλώσσα συναρμολόγησης είναι η γλώσσα προγραμματισμού χαμηλότερου επιπέδου που αλληλεπιδρά άμεσα με το υλικό του υπολογιστή. Χρησιμοποιεί μνημονικά (σύντομοι κωδικοί) για να αντιπροσωπεύει τις οδηγίες μηχανής.
* Ειδική μηχανή: Κάθε αρχιτεκτονική της 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
Η γλώσσα συναρμολόγησης είναι ειδική για το μηχάνημα, καθιστώντας την μη φορητή. Οι γλώσσες υψηλού επιπέδου επιτυγχάνουν τη φορητότητα χρησιμοποιώντας μεταγλωττιστές/διερμηνείς για να γεφυρώσουν το χάσμα μεταξύ του αφηρημένου κώδικα και του υποκείμενου υλικού. Το επίπεδο φορητότητας που επιτυγχάνεται εξαρτάται από τη συγκεκριμένη γλώσσα και την πολυπλοκότητα του μεταγλωττιστή ή του διερμηνέα του.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα