Rust and C ++: Μαζί στο δρόμο για την καλύτερη ολοκλήρωση του προγραμματισμού
Rust and C ++: Μαζί στο δρόμο για την καλύτερη ολοκλήρωση του προγραμματισμού
Το Ίδρυμα Rust δημοσίευσε πρόσφατα ένα σημαντικό έγγραφο για το GitHub που φωτίζει τις προκλήσεις στην αλληλεπίδραση μεταξύ των γλωσσών προγραμματισμού Rust και C ++. Το ίδρυμα περιγράφει τόσο βραχυπρόθεσμες όσο και μακροπρόθεσμες λύσεις για βελτιωμένη διαλειτουργικότητα μεταξύ αυτών των δύο γλωσσών προγραμματισμού. Αυτό είναι ιδιαίτερα σημαντικό, διότι η Rust, αν και έχει καθιερωθεί στον προγραμματισμό που σχετίζεται με το σύστημα, συχνά πληροί τις υπάρχουσες εφαρμογές C ++.
Η διαλειτουργικότητα μεταξύ σκουριάς και C ++ είναι ένα κεντρικό θέμα, ειδικά στην ανάπτυξη ενσωματωμένων συστημάτων ή άλλων περιβαλλόντων περιορισμένων πόρων. Οι εφαρμογές που αναφέρονται από το Ίδρυμα Rust είναι παραδείγματα για την πρακτική: συστήματα C ++ που εφαρμόζουν νέες λειτουργίες με συστήματα σκουριάς, με βάση τη σκουριά που χρησιμοποιούν τον υπάρχοντα κώδικα C ++ και συστήματα που χρησιμοποιούν αρκετές γλώσσες προγραμματισμού. Το C ++ έχει μια πολύ μεγαλύτερη ιστορία, γι 'αυτό πολλά έργα συχνά πρέπει να συνεργαστούν με τον υπάρχοντα κώδικα C ++.
Προκλήσεις ενσωμάτωσης
Ένα κύριο εμπόδιο στην κοινή χρήση της σκουριάς και της C ++ είναι η έλλειψη εργαλείων που επιτρέπει C ++ και κώδικα σκουριάς να αναμειγνύονται στο ίδιο αρχείο. Μια προσέγγιση που βασίζεται σε FFI (Interface Interface) είναι επί του παρόντος απαραίτητη για τη σύνδεση των δύο γλωσσών προγραμματισμού. Αυτό συμβαίνει συνήθως μέσω της δυαδικής διεπαφής εφαρμογής (ABI) του C, η οποία είναι πιο σταθερή και πιο ανεξάρτητη από την πλατφόρμα από το πιο σύνθετο C ++-ABIS.
Ένα άλλο μεγάλο πρόβλημα είναι ότι πολλές από τις λειτουργίες ασφαλείας της Rust είναι σε μεγάλο βαθμό χαμένες όταν η αλληλεπίδραση με το C. ως αποτέλεσμα, αυτή είναι μια σοβαρή πρόκληση για τους προγραμματιστές που θέλουν να χρησιμοποιήσουν τα ισχυρά μέτρα ασφαλείας της Rust ενώ αλληλεπιδρούν με το C ταυτόχρονα. Το ίδρυμα Rust περιγράφει το C ως το "lingua franca" για την ολοκλήρωση του FFI και οι δυσκολίες δημιουργίας μιας κοινής βάσης επικοινωνίας, η χρήση συγκεκριμένων χαρακτηριστικών σκουριάς είναι αυστηρά περιορισμένη.
Στρατηγικές για τη βελτίωση
Το Ίδρυμα Rust έχει ορίσει τρεις κεντρικές στρατηγικές στη δήλωση προβλημάτων "C ++/Rust διαλειτουργικότητας" για τη βελτιστοποίηση της διαλειτουργικότητας μεταξύ αυτών των γλωσσών. Πρώτα απ 'όλα, το ίδρυμα σχεδιάζει να βελτιώσει τα εργαλεία και να διορθώσει τα θεμελιώδη προβλήματα μέσα στο έργο Rust που καθιστούν δυσκολότερη την ολοκλήρωση.
Επιπλέον, ο στόχος είναι να βρεθεί μια συναίνεση για μια στρατηγική, να εντοπιστούν και να εφαρμοστούν οι απαραίτητες αλλαγές για να αυξήσει τη διαλειτουργικότητα της σκουριάς. Ένα άλλο σημαντικό σημείο είναι η συνεργασία με την κοινότητα C ++ και την πρότυπη επιτροπή C ++ για την επιδίωξη κοινών στόχων ασφάλειας και απόδοσης.
Αυτές οι προσεγγίσεις έρχονται σε μια εποχή που η Google χορήγησε στο ίδρυμα Rust γενναιόδωρη υποστήριξη ύψους 1 εκατομμυρίου δολαρίων το Φεβρουάριο του 2024. Η χρηματοδότηση αυτή προορίζεται να προωθήσει περαιτέρω τη συνεργασία μεταξύ σκουριάς και C ++.
Για περισσότερες πληροφορίες, οι λεπτομέρειες στη δήλωση προβλημάτων C ++/σκουριάς στο GitHub και στις ανακοινώσεις του θεμελιώδους rust μπορούν να διαβαστούν. Αυτές οι πρωτοβουλίες θα μπορούσαν ενδεχομένως να έχουν σημαντικό αντίκτυπο στην ανάπτυξη και την ενσωμάτωση του λογισμικού στο μέλλον, ειδικά σε περιοχές όπου μοιράζονται σκουριά και C ++.
Kommentare (0)