Negli ultimi anni, il linguaggio di programmazione Rust sta guadagnando sempre più popolarità tra gli sviluppatori di software di tutto il mondo. Questo crescente interesse è stato confermato da un recente sondaggio condotto dalla Rust Foundation, che ha rivelato che sempre più “rustaceans” stanno scrivendo codice in Rust. Ma cosa rende questo linguaggio di programmazione così attraente per gli sviluppatori e perché sta diventando sempre più diffuso?
Cosa è Rust?
Il linguaggio di programmazione Rust è stato sviluppato nel 2006 da Graydon Hoare, un dipendente di Mozilla Research, e annunciato ufficialmente nel 2010. Uno dei suoi obiettivi è fornire la sicurezza della memoria in modo nativo, prevenendo bug comuni come i “buffer overflow” e i “null pointer dereference” che spesso causano vulnerabilità e crash nei programmi.
Tra le sue caratteristiche:
– introduce il concetto di “ownership” che controlla in modo rigoroso come i dati vengono gestiti nella memoria, evitando i problemi tipici come le fughe di memoria.
– permette il “borrowing” sicuro dei dati, consentendo più accessi concorrenti a dati in modo controllato.
– utilizza il concetto di “lifetimes” per garantire che i riferimenti ai dati rimangano validi durante l’esecuzione del programma.
– offre un potente sistema di “pattern matching” per gestire dati complessi in modo elegante.
– supporta la programmazione concorrente in modo sicuro attraverso i thread e i canali.
Sicurezza di memoria
Essendo un linguaggio di programmazione contemporaneo e ad uso generale progettato per garantire in modo innato la sicurezza della memoria, significa che i programmi scritti in Rust sono notevolmente più sicuri, poiché molte classi di bug e potenziali vulnerabilità nel codice vengono eliminate durante il tempo di compilazione.
In altre parole, è un linguaggio di programmazione che aiuta gli sviluppatori a scrivere codice meno soggetto a errori e vulnerabilità, il che è fondamentale per garantire la sicurezza delle applicazioni moderne.
Adozione di Rust nei progetti software di alto profilo
Una delle ragioni principali della sua crescente popolarità è l’adozione da parte di importanti progetti software che dominano il panorama tecnologico moderno. Rust ha fatto il suo ingresso nel kernel Linux, nel progetto Chromium e in Windows. Questa adozione porta un approccio più sicuro alla scrittura del codice rispetto ai linguaggi di programmazione tradizionali come C o C++.
Sondaggio condotto dalla Rust Foundation
La popolarità di Rust è in costante crescita, come confermato ufficialmente dalla Rust Foundation attraverso il suo recente sondaggio annuale.
Il sondaggio è stato aperto alle risposte dal 5 dicembre 2022 al 22 dicembre 2022, con i risultati finali resi disponibili nell’agosto 2023. Hanno partecipato allo studio i manutentori dei progetti, i contributori e i programmatori interessati.
Il sondaggio era accessibile in 11 lingue diverse, tra cui l’inglese, il cinese semplificato e tradizionale. È stato completato da 9.433 partecipanti provenienti da tutto il mondo, con un notevole tasso di completamento dell’82 percento, in aumento rispetto al 76 percento del 2021.
La Rust Foundation ha sottolineato che il sondaggio richiedeva tempo, energia e concentrazione, il che rende l’82 percento di completamento piuttosto elevato.
Utenti in crescita
Più del 90 % dei partecipanti al sondaggio si sono identificati come ‘utenti Rust’, e tra loro il 47 % scrive codice quotidianamente, un aumento del quattro percento rispetto al 2021. Una parte significativa degli sviluppatori (il 30%) è in grado di scrivere programmi semplici, mentre il 27 % è in grado di produrre codice pronto per la produzione. Inoltre, un significativo 42 % degli utenti si considera ‘produttivo’ con il linguaggio.
Tuttavia, il sondaggio ha anche rivelato alcune sfide e preoccupazioni tra gli sviluppatori. Il 30 % degli ex utenti ha citato la difficoltà come la ragione principale per interrompere l’uso del linguaggio, mentre quasi il 47% ha menzionato fattori al di fuori del loro controllo come le ragioni principali per cessare l’uso. La percezione di difficoltà è stata simile tra gli sviluppatori che non usano Rust come il motivo principale per evitare di scrivere codice in questo nuovo linguaggio.
Crescita della fiducia nell’industria
Nonostante queste sfide, la Rust Foundation ha notato una diminuzione del 21% delle preoccupazioni riguardo all’uso nell’industria. La fondazione ha dichiarato che la fiducia complessiva nel progetto di sicurezza della memoria è in crescita. Gli sviluppatori stanno gradualmente superando le barriere iniziali e apprezzano i vantaggi che porta, soprattutto in termini di sicurezza e affidabilità del codice.
Centinaia di aziende in tutto il mondo utilizzano il linguaggio di programmazione nella produzione per soluzioni multi piattaforma veloci, con poche risorse. Software conosciuti come Firefox , Dropbox , e Cloudflare usano Rust.
Per chi è interessato e aperto alle sfide di programmazione, l’ultima versione 1.72.0 di Rust, rilasciata il 24 agosto può essere scaricata da questo link.
Rust : versione 1.72.0
La versione 1.72.0 di Rust consolida la sua posizione come scelta primaria per coloro che cercano di costruire software affidabile ed efficiente.
La versione più recente introduce una funzionalità rivoluzionaria che migliora l’utilità degli elementi disabilitati da cfg. Attivare condizionalmente il codice Rust tramite cfg è da sempre una tecnica cruciale per personalizzare le funzioni in base a caratteristiche specifiche del crate o piattaforme particolari. In precedenza, i componenti disattivati tramite questo metodo passavano inosservati al compilatore, causando possibili sfide per gli sviluppatori. Ora il compilatore conserva informazioni importanti, tra cui i nomi degli elementi e le condizioni cfg.
Questo consente al compilatore di fornire un feedback importante, ad esempio evidenziando l’indisponibilità di una funzione a causa della necessità di abilitare una caratteristica specifica del crate. Ciò offre agli sviluppatori una guida più chiara e facilita un’esperienza di codifica più efficiente.
Rust : limite al numero di istruzioni eseguite
In passato, Rust imponeva un limite al numero di istruzioni eseguite durante la valutazione costante fornita dall’utente. Questo vincolo era inteso per prevenire scenari in cui tali valutazioni potessero innescare loop infiniti o calcoli eccessivamente lunghi durante il tempo di compilazione. Tuttavia, questa limitazione occasionalmente provocava errori di compilazione, soprattutto quando era coinvolto codice Rust complesso.
Inoltre, l’applicabilità di questo vincolo variava significativamente in base alle librerie esterne impiegate. Se una libreria invocata da un utente frammentava un’istruzione all’interno di una delle sue funzioni, ciò poteva causare fallimenti nella compilazione.
Con la nuova versione non esiste un tetto massimo per l’estensione della valutazione costante raggiungibile durante il tempo di compilazione. Per prevenire compilazioni prolungate prive di feedback, il compilatore emetterà una notifica una volta che il codice di tempo di compilazione è stato in esecuzione per una certa durata. Successivamente, questa notifica verrà ripetuta a intervalli che raddoppiano progressivamente.
Usi Rust ? Come ti trovi con l’ultima versione? Facci conoscere le tue opinioni nei commenti qui sotto.