Γλώσσα προγραμματισμού Rust: Οδηγώντας την καινοτομία σε απροσδόκητα μέρη

αυτοκίνητα

Εικόνα: Getty Images/Jung Getty

Οι μηχανικοί λογισμικού της αυτοκινητοβιομηχανίας Volvo εξήγησαν γιατί είναι λάτρεις της γλώσσας προγραμματισμού Rust και υποστηρίζουν ότι το Rust είναι στην πραγματικότητα «καλό για το αυτοκίνητό σου». 

Φαίνεται ότι όλοι αγαπούν το Rust, από τις ομάδες Windows και Azure της Microsoft, μέχρι τους συντηρητές πυρήνα Linux, τις υπηρεσίες Web Amazon, το Meta, το Android Open Source Project και πολλά άλλα. Και τώρα φαίνεται ότι ήρθε η ώρα να προσθέσουμε μηχανικούς λογισμικού στη Volvo σε αυτή τη λίστα.

Ο Julius Gustavsson, τεχνικός εμπειρογνώμονας και αρχιτέκτονας συστημάτων στη Volvo Cars Corporation, εξηγεί «Γιατί το Rust είναι πραγματικά καλό για το αυτοκίνητό σας» σε ένα συνέντευξη στο Medium με τον συνάδελφο μηχανικό λογισμικού της Volvo, Johannes Foufas

Η Rust είναι μια σχετικά νέα γλώσσα που βοηθά τους προγραμματιστές να αποφεύγουν σφάλματα που σχετίζονται με τη μνήμη, τα οποία η C και η C++ δεν κάνουν αυτόματα, εξ ου και η αυξανόμενη δημοτικότητα της Rust στον προγραμματισμό συστημάτων. Τα σφάλματα που σχετίζονται με τη μνήμη είναι τα πιο κοινά σοβαρά ζητήματα ασφάλειας, σύμφωνα με τη Microsoft και την ομάδα Chrome της Google. 

Ο Gustavsson φέρνει μια προοπτική από την ανάπτυξη ενσωματωμένων συστημάτων στη συζήτηση.

Η Volvo, μαζί με την αυτοκινητοβιομηχανία γενικά, αναζητά «αυτοκίνητα που καθορίζονται από λογισμικό» για να προσαρμόσει, να διαφοροποιήσει και να βελτιώσει τα οχήματα αφού φύγουν από το ναυπηγείο αυτοκινήτων. 

Τα κύρια πλεονεκτήματα που βλέπει από το Rust περιλαμβάνουν: το να μην χρειάζεται να σκεφτεί τις συνθήκες αγώνα και την καταστροφή της μνήμης και την ασφάλεια της μνήμης γενικά. «Ξέρετε, γράφοντας απλώς σωστό και ισχυρό κώδικα από την αρχή», είπε.

Ο Gustavsson λέει ότι άρχισε να φέρνει το Rust στη Volvo με τον κόμβο Low Power του βασικού υπολογιστή.

Ο Gustavsson βλέπει ένα λαμπρό μέλλον για το Rust στη Volvo, αλλά αυτό δεν σημαίνει ότι θα το χρησιμοποιήσετε για να αντικαταστήσετε τον ήδη λειτουργικό κώδικα που έχει ελεγχθεί επαρκώς. Σημειώνει ότι ο νέος κώδικας Rust μπορεί να συνυπάρχει με «σχεδόν αυθαίρετη ευκρίνεια» με τα υπάρχοντα C και C++ και ότι θα μπορούσε να έχει νόημα να ξαναγράψουμε το Rust αν αυτό το στοιχείο χρειάζεται ασφάλεια στον κυβερνοχώρο. 

«Θέλουμε να επεκτείνουμε το Rust εδώ στη Volvo Cars για να το ενεργοποιήσουμε σε περισσότερους κόμβους και για να το κάνουμε αυτό, πρέπει να έχουμε υποστήριξη μεταγλωττιστή για συγκεκριμένους στόχους υλικού και υποστήριξη λειτουργικού συστήματος για άλλους στόχους. Δεν έχει νόημα η αντικατάσταση του ήδη ανεπτυγμένου και καλά δοκιμασμένου κώδικα, αλλά ο κώδικας που έχει αναπτυχθεί από την αρχή θα πρέπει οπωσδήποτε να αναπτυχθεί στο Rust, αν είναι καθόλου εφικτό.

«Αυτό δεν σημαίνει ότι το Rust είναι πανάκεια. Η σκουριά έχει ακόμα κάποιες τραχιές άκρες και απαιτεί από εσάς να κάνετε ορισμένες συμβιβασμούς που μπορεί να μην είναι πάντα η καλύτερη πορεία δράσης. Αλλά συνολικά, νομίζω ότι η Rust έχει τεράστιες δυνατότητες για να μας επιτρέψει να παράγουμε κώδικα υψηλότερης ποιότητας εκ των προτέρων με χαμηλότερο κόστος, το οποίο με τη σειρά του θα μειώσει το κόστος της εγγύησης, επομένως είναι ένα win-win για το τελικό αποτέλεσμα», είπε.

Η Volvo δεν είναι η μόνη αυτοκινητοβιομηχανία που ενδιαφέρεται για τη Rust. Autosar, μια ομάδα προτύπων αυτοκινήτου — μέλη της οποίας περιλαμβάνουν Ford, GM, BMW, Bosch, Volkswagen, Toyota, Volvo και πολλά άλλα — τον Απρίλιο ανακοίνωσε μια νέα υποομάδα εντός της Ομάδας Εργασίας για Λειτουργική Ασφάλεια (WG-SAF) για να διερευνήσει πώς το Rust θα μπορούσε να χρησιμοποιηθεί σε μία από τις πλατφόρμες αναφοράς του. SAE International επίσης συγκροτήσει μια ομάδα εργασίας να εξετάσουμε το Rust στην αυτοκινητοβιομηχανία για συστήματα που σχετίζονται με την ασφάλεια.

Ο Rust ήταν επίσης στις ειδήσεις με τον Mark Russinovich, τον επικεφαλής τεχνολογίας της Microsoft Azure, λέγοντας ότι οι προγραμματιστές θα πρέπει να αποφεύγουν τη χρήση γλωσσών προγραμματισμού C ή C++ σε νέα έργα και αντ 'αυτού να χρησιμοποιούν το Rust.

Πηγή