Salta ai contenuti

Prossimi passi con Rust

Se hai seguito gli argomenti di questo corso, conosci già abbastanza Rust per scrivere programmi veri: variabili, controllo del flusso, funzioni, ownership (possesso), borrowing (prestito), collezioni, moduli, gestione degli errori, trait, generici e perfino thread, smart pointer, unsafe e macro. È davvero quasi tutto quello che userai ogni giorno. Quello che manca è soprattutto pratica, più le conoscenze specifiche delle librerie, che imparerai man mano che ti servono.

Da qui in poi, il modo più veloce per imparare davvero è scegliere un piccolo progetto e bloccarsi qualche volta. Questo sito ha cinque progetti guidati per cominciare:

Quando li hai finiti, provane uno da solo:

  • Una calcolatrice semplice: per allenarti con match, Result e la gestione degli errori quando l’input non è valido.
  • Un lettore di configurazione JSON: carica le impostazioni da un file con Serde.
  • Un piccolo web scraper o client di API: scarica un URL con reqwest, sopra async/await.

Non sai ancora che tipo di programma vuoi costruire? Le pagine «Cosa puoi costruire» mostrano dove Rust dà il meglio e quali crate si usano: rete, database, applicazioni desktop con interfaccia grafica, giochi e microcontrollori.

Preferisci prima esercizi più piccoli? Prova gli Esercizi, oppure mettiti alla prova con le Domande da colloquio.

L’ecosistema di pacchetti di Rust (i crate, distribuiti tramite crates.io) copre quasi tutto quello per cui vorresti una libreria. Eccone alcuni che incontrerai di continuo:

Aggiungi uno qualsiasi di questi crate a un progetto con cargo add <nome del crate>, senza bisogno di un gestore di pacchetti separato. La pagina Cargo e crate spiega come funziona e come scegliere un buon crate.

Questo corso è andato più lontano della maggior parte dei tutorial per principianti, con argomenti come smart pointer, thread e canali, async/await, Rust unsafe, chiamare codice C (FFI), WebAssembly e le tue macro macro_rules!. Alcuni argomenti più profondi hanno una pagina tutta loro, per quando sarai pronto:

  • Macro procedurali: le cugine più potenti (e più complesse) delle macro macro_rules! della pagina Macro; sono loro a far funzionare #[derive(Debug)] e simili dietro le quinte
  • Rust no_std / embedded: scrivere Rust senza la libreria standard, per microcontrollori e altri ambienti con poche risorse

Non ti serve nessuno di questi argomenti per scrivere Rust utile: vale la pena sapere che esistono, e impararli quando ti trovi davvero davanti a un problema che li richiede.

  • Il sito ufficiale di Rust: Impara: il punto di partenza ufficiale, con tutte le risorse di apprendimento
  • The Rust Book (in inglese): rileggilo ora che le basi ti sono chiare; molte parti avranno più senso la seconda volta
  • Rust by Example (in inglese): altro codice commentato da leggere
  • Rustlings (in inglese): piccoli esercizi da correggere, direttamente nel terminale
  • This Week in Rust (in inglese): una newsletter settimanale per vedere cosa sta costruendo la community

Ti capiterà ancora di trovare errori del compilatore che ti confondono, ed è normale: succede anche a chi scrive Rust da anni, non solo ai principianti. Con l’esperienza gli errori non spariscono; diventi solo più veloce a leggerli. Continua a scrivere codice, continua a leggere quello che ti dice il compilatore, e diventerà sempre più facile.

Buona fortuna, e grazie per essere arrivato fin qui. 🦀

Verifica veloce

1. Quale crate consiglia questa pagina per leggere e scrivere JSON?

2. Quale crate viene citato per la programmazione asincrona?

3. Quale di questi argomenti la pagina indica come NON trattato nel corso?

Punteggio: 0 / 3