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

Γιατί η γλώσσα Rust αυξάνεται

Πιθανότατα δεν έχετε γράψει ποτέ κάτι στο Rust, την ανοιχτή πηγή, γλώσσα προγραμματισμού σε επίπεδο συστήματος που δημιούργησε η Mozilla, αλλά πιθανότατα κάποια στιγμή. Οι προγραμματιστές στέφουν τον Rust ως τη «πιο αγαπημένη» γλώσσα τους στην έρευνα προγραμματιστών του Stack Overflow για το 2019, ενώ η εξαμηνιαία κατάταξη γλωσσών του Redmonk είδε τον Rust να φτάνει σε απόσταση από τα 20 κορυφαία (κατάταξη # 21).

Αυτό, παρά τους χρήστες του Rust, «βρίσκουν [δυσκολία] και απογοήτευση με τα εξαιρετικά γνωστά χαρακτηριστικά της γλώσσας για ασφάλεια και ορθότητα της μνήμης».

Γιατί μια γλώσσα είναι γνωστό ότι είναι κάπως δύσκολο να μάθει τόσο καλά αγαπημένη; Σε συνομιλίες με προγραμματιστές, φαίνεται ότι η απάντηση έρχεται στην ιδέα ότι ο Rust είναι «προγραμματισμός συστημάτων με προστατευτικές ράγες», όπως το περιγράφει ο OO CTO Sam Scott, με έναν από αυτούς τους «προστατευτικούς τροχούς» να είναι μια εξαιρετικά φιλόξενη κοινότητα.

Προγραμματισμός συστημάτων με ράγες προστασίας

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

Για εκείνους τους προγραμματιστές που εργάζονται με γλώσσες προγραμματισμού χαμηλότερου επιπέδου όπως C ή C ++, το Rust είναι μια αποκάλυψη, κάτι που κάλυψα για πρώτη φορά το 2015. Ωστόσο, γρήγορα προχωρά μερικά χρόνια, και ο Rust συνεχίζει να βελτιώνεται.

Ερωτηθείς για να αναλύσει τα σημαντικότερα σημεία πώλησης της Rust, ο προγραμματιστής David Barsky προσφέρει τα εξής:

  • Ερμηνευτής Το Rust είναι σε θέση να αντικαταστήσει το C / C ++ σε χώρους που συνήθως ευδοκιμούσε. Για παράδειγμα: "Για υπηρεσίες δικτύου ευαίσθητες σε λανθάνουσα κατάσταση, η έλλειψη απορριμμάτων απορριμμάτων χρόνου λειτουργίας του Rust οδηγεί σε σχεδόν ανύπαρκτες καθυστερήσεις ουράς."
  • Αξιόπιστος. «Το σύστημα τύπου και το πούλι δανεισμού - ένας στατικός συλλέκτης σκουπιδιών, αποτρέπει ολόκληρες κατηγορίες σφαλμάτων που γίνονται αποδεκτά ως« κανονικά »σε Python, Java και C ++.»
  • Παραγωγικότητα προγραμματιστή. "Το Cargo, το εργαλείο κατασκευής και ο διαχειριστής πακέτων, είναι ένα από τα καλύτερα συστήματα κατασκευής και διαχειριστές πακέτων που έχω χρησιμοποιήσει." Το Rust έρχεται επίσης με εξαιρετική ενσωματωμένη τεκμηρίωση και εξαιρετική, ενσωματωμένη μονάδα, ενσωμάτωση και δοκιμή τεκμηρίωσης.

Η εμπειρία του Barsky μοιάζει με αυτή του Scott. Προερχόμενος από γλώσσες προγραμματισμού υψηλότερου επιπέδου (Java, Ruby on Rails), ο Scott λέει ότι η εμπειρία του με το C ήταν λιγότερο από ευχάριστο: «Ο C ήταν απαίσιος επειδή αντιμετώπιζα διαρκώς προβλήματα μνήμης, segfaults κ.λπ. Και εγώ περισσότερο ή λιγότερο ένιωσα σαν να πολεμούσα με τον κώδικα όλη την ώρα. "

Αντίθετα, η σκουριά ήταν «προγραμματισμός συστημάτων με ράγες προστασίας». Ο Σκοτ ​​εξηγεί:

Τότε δοκίμασα το Rust (μόλις γύρισε 1,0) και ένιωθα σαν προγραμματισμός συστημάτων με προστατευτικές ράγες. Όλα τα πράγματα που έπρεπε να κάνω προγραμματισμού συστημάτων χαμηλού επιπέδου, αλλά με πολλή βοήθεια για τον εντοπισμό σφαλμάτων και για να κάνω τον κώδικα ασφαλή - όπως ο ελεγκτής δανεισμού και ο μεταγλωττιστής, και στη συνέχεια αργότερα στο εργαλείο όπως τα linters ("clippy"). Είχε προσφέρει πολλές από τις γνωστές πτυχές του λειτουργικού και αντικειμενοστραφούς προγραμματισμού, και φαινόταν να ταιριάζει με το πνευματικό μου μοντέλο για το πώς ήθελα να φτιάξω συστήματα.

Ως συνιδρυτής του Oso, ο Scott δεν μπορούσε να αποφύγει τον προγραμματισμό χαμηλότερου επιπέδου. Oso, με αποστολή να κάνει την ασφάλεια υποδομής back-end αόρατη για προγραμματιστές και απλή για ops, "χρειάζεται την απόδοση που προσφέρει μια γλώσσα σε επίπεδο συστήματος. "Δεν μπορούμε να χρησιμοποιήσουμε μια γλώσσα που συλλέγεται σκουπίδια όπως το Go, επειδή η απόδοση δεν θα ήταν αρκετά συνεπής για αυτό που κάνουμε, αφού καθόμαστε στην κρίσιμη πορεία της κίνησης των πελατών", δήλωσε ο Scott.

Όλα αυτά ακούγονται υπέροχα, έως ότου επιστρέψουμε στο πιθανό πρόβλημα της προμήθειας ταλέντων προγραμματιστών που έχει μεγάλη εμπειρία σε μια σχετικά νέα γλώσσα. Ωστόσο, το προσβάσιμο ταλέντο μπορεί να είναι το καλύτερο χαρακτηριστικό όλων των Rust.

Οι προγραμματιστές σκουριάς ήθελαν

Ένα κρίσιμο στοιχείο για την εκμάθηση κάτι καινούργιου είναι ότι οι άνθρωποι είναι πρόθυμοι να βοηθήσουν στη μετάβαση. Εδώ η σκουριά λάμπει. Όπως το θέτει ο Μπάρσκι,

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

Αυτή η κοινότητα είναι ένας μεγάλος λόγος που, σύμφωνα με τον Scott, οι προγραμματιστές μπορούν να πάρουν το Rust σε λίγους μήνες. Η σκουριά «απαιτεί λίγη αλλαγή νοοτροπίας», λέει. "Πρέπει να κάνετε περισσότερη δουλειά εκ των προτέρων συλλογισμός για πράγματα όπως οι τύποι και η διάρκεια ζωής." Αλλά μόλις φτάσετε εκεί, «πληρώνει τα μερίσματα».

Λίγο θαύμα, λοιπόν, ότι τόσοι πολλοί προγραμματιστές αγαπούν το Rust. Το ανοδικό είναι μεγάλο και το μειονέκτημα ελαχιστοποιείται από την φιλόξενη και περιεκτική κοινότητα του Rust.

$config[zx-auto] not found$config[zx-overlay] not found