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

Η Mozilla δεσμεύει τη μοίρα του Firefox στη γλώσσα Rust

Το Mozilla προοριζόταν πάντα για Rust να χρησιμοποιείται για την κατασκευή βασικών τμημάτων του προγράμματος περιήγησης Firefox. Τώρα η εταιρεία δεσμεύεται σε αυτό το όραμα με σημαντικό τρόπο.

Μετά την έκδοση 53, ο Firefox θα απαιτήσει την επιτυχημένη μεταγλώττιση του Rust, λόγω της παρουσίας στοιχείων του Firefox που έχουν δημιουργηθεί με τη γλώσσα. Ωστόσο, αυτή η απόφαση ενδέχεται να περιορίσει τον αριθμό των πλατφορμών στις οποίες μπορεί να μεταφερθεί ο Firefox - προς το παρόν.

Η Rust, η γλώσσα της Mozilla Research για γρήγορο και ασφαλή προγραμματισμό σε επίπεδο συστήματος, είναι την παραμονή μιας νέας κυκλοφορίας. Το πιο αξιοσημείωτο νέο χαρακτηριστικό του Rust 1.15 είναι ένα ανανεωμένο σύστημα κατασκευής που γράφτηκε στο Rust και χρησιμοποιεί τη φυσική διαχείριση πακέτων Cargo της Rust. Προηγουμένως, το Rust κατασκευάστηκε με makefiles. Με αυτήν την αλλαγή, το Rust μπορεί να κατασκευαστεί χρησιμοποιώντας Cargo "κιβώτια" όπως οποιοδήποτε άλλο έργο Rust. Είναι ένα από τα πολλά βήματα που έκανε η Rust για να γίνει το δικό της οικοσύστημα, χωρίς να εξαρτάται από κομμάτια που έχουν κατασκευαστεί από άλλους.

Καθώς το Rust έχει ωριμάσει και σταθεροποιηθεί, γίνεται πιο εύκολο για τους προγραμματιστές του Firefox να μεταφέρουν περισσότερο από την κρίσιμη υποδομή του προγράμματος περιήγησης σε αυτήν τη γλώσσα. Αλλά υπάρχει ένα μειονέκτημα: Κάθε πλατφόρμα όπου σκοπεύετε να δημιουργήσετε και να εκτελέσετε τον Firefox θα χρειαστεί μια λειτουργική έκδοση του μεταγλωττιστή Rust.

Η σκουριά προορίζεται να είναι πολλαπλής πλατφόρμας, επομένως αυτό πρέπει να είναι δυνατό. Ωστόσο, οι πρακτικές συνέπειες είναι πιο περίπλοκες. Το Rust εξαρτάται από το LLVM, το οποίο έχει τις δικές του εξαρτήσεις - και όλα αυτά θα πρέπει να υποστηρίζονται στην πλατφόρμα προορισμού.

Μια συζήτηση για το πρόγραμμα παρακολούθησης Bugzilla για τον Firefox θέτει πολλά από αυτά τα σημεία. Άλλα προβλήματα ανησυχούν επίσης: Τι γίνεται με τη σωστή υποστήριξη για διανομές Linux με μακροπρόθεσμη υποστήριξη, όπου τα εργαλεία που είναι διαθέσιμα στο distro είναι συχνά παγωμένα και όπου οι νεότερες δυνατότητες του Rust ενδέχεται να μην είναι διαθέσιμες; Τι γίνεται με την υποστήριξη του Firefox σε πλατφόρμες "non-tier-1", οι οποίες αποτελούν μικρότερο μερίδιο χρηστών του Firefox;

Η στάση του Mozilla είναι ότι μακροπρόθεσμα, ο πόνος της μετάβασης θα αξίζει τον κόπο. "Το πλεονέκτημα της χρήσης του Rust είναι πολύ μεγάλο", σύμφωνα με τον συντηρητή Ted Mielczarek. "Συνήθως δεν βγαίνουμε έξω από το δρόμο μας για να κάνουμε τη ζωή πιο δύσκολη για τους ανθρώπους που διατηρούν θύρες Firefox, αλλά σε αυτήν την περίπτωση δεν μπορούμε να αφήσουμε λιγότερη χρήση Οι πλατφόρμες μας εμποδίζουν να χρησιμοποιήσουμε το Rust στο Firefox », έγραψε.

Οι πλατφόρμες που πιθανότατα θα επηρεαστούν από αυτήν την απόφαση, σύμφωνα με μια συζήτηση στο νήμα Bugzilla, είναι αρχιτεκτονικές εκτός γραφείου όπως το S390 της IBM. Ως αποτέλεσμα, είναι πιθανό αυτοί που αποστέλλουν διανομές Linux για αυτές τις αρχιτεκτονικές - όπως το Red Hat με το Fedora - απλώς να εγκαταλείψουν την υποστήριξη του Firefox για τις κατασκευές που δεν υποστηρίζουν ακόμη πλήρως το Rust.

Οι περισσότεροι χρήστες του Firefox δεν θα επηρεαστούν από αυτό. Η καλύτερη ελπίδα για όσους είναι, θα είναι να καταβάλουν προσπάθειες για τη δημιουργία οποιωνδήποτε πλατφορμών χρειάζονται υποστήριξη Rust - ταυτόχρονα οδηγώντας την ανάπτυξη τόσο για τον Firefox όσο και για τον Rust.

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