Uno dei linguaggi di programmazione dei quali si fa sempre più un gran parlare nell’ultimo periodo è Rust.
Rust è un linguaggio di programmazione moderno, sicuro e ad alte prestazioni che si concentra sulla scrittura di software affidabile. Tra le sue principali caratteristiche l’affidabilità e la sicurezza: evitando alla radice errori di sviluppo comuni come la gestione errata della memoria, le race condition e gli accessi non sicuri ai dati. Ne beneficia direttamente la qualità del software che si va a sviluppare: risulta molto più affidabile, robusto e meno vulnerabile a varie tipologie di attacco.
Le garanzie in termini di sicurezza non si pagano sul piano delle prestazioni che risultano paragonabili con quelle di linguaggi a basso livello come C++ e C. Tra l’altro l’assenza di un meccanismo di garbage collector permette l’ottenimento di codice efficiente e performance prevedibili. Tra i punti di forza di Rust ci sono gli strumenti per la programmazione concorrente e parallela: essa stessa aiuta a massimizzare le prestazioni dell’applicazione in corso di sviluppo. Il compilatore Rust genera codice macchina altamente efficiente che può essere sfruttato per realizzare applicazioni capaci di funzionare su diverse architetture e sistemi operativi. Infine, Rust è particolarmente apprezzato per l’approccio che garantisce nello sviluppo software: promuove uno stile di programmazione chiaro, con una sintassi pulita e leggibile.
Rust è supportato in Chromium, il browser da cui vengono derivati Chrome, Edge e altri prodotti di terze parti; inoltre, di recente, codice Rust ha fatto il suo ingresso nel kernel di Windows 11 contribuendo a migliorare la sicurezza del componente di base del sistema operativo massimizzando allo stesso tempo le prestazioni.
Il team di Google Android presenta un corso Rust per imparare e insegnare il linguaggio
Battezzato Comprehensive Rust, il corso realizzato dai tecnici del team Android permette a tutti di acquisire la sintassi di base del linguaggio Rust per arrivare ad argomenti avanzati come la gestione degli errori. Secondo Google, bastano soli 3 giorni per fare propri sia i rudimenti di Rust che i concetti più evoluti.
Il corso parte dal presupposto che non si conosca nulla di Rust iniziando dapprima con la presentazione della sintassi e dei concetti basilari per poi passare alla modifica dei programmi esistenti e alla creazione di nuovi progetti. Chi volesse proseguire, può continuare con un corso di mezza giornata sull’utilizzo di Rust su piattaforma Android (AOSP) maturando padronanza sui concetti che implicano l’interoperabilità con C, C++ e Java.
È quindi possibile dedicare un giorno intero allo sviluppo bare-metal con Rust ovvero alla scrittura di software progettato per l’esecuzione diretta sull’hardware senza alcun sistema operativo o livello di astrazione intermedio. Infine, si può concludere con una guida sulla concorrenza (classica e async/await).
Nel repository GitHub del corso, è possibile trovare codice sorgente ed esempi pratici che fanno riferimento ai temi trattati nelle lezioni.
Come mette in evidenza Google, il corso è progettato anche per insegnare Rust a ingegneri del software, professionisti e ad altri tecnici già in possesso di un bagaglio esperienziale incentrato su C++ e Java.