Nel kernel, per davvero
Quello che nel 2020 era una proposta sperimentale è diventato realtà. Rust è ufficialmente nel kernel Linux dalla versione 6.1, rilasciata nel dicembre 2022. I primi moduli in Rust convivono con milioni di righe di codice C, con un layer di astrazione che permette ai driver scritti in Rust di interagire con le API del kernel. Il supporto non è completo — molti sottosistemi non hanno ancora binding Rust — ma la direzione è tracciata. Google utilizza Rust per nuovi driver Android, e Microsoft impiega il linguaggio in componenti di Windows.
L’ingresso nel kernel rappresenta la validazione definitiva: se quello che è forse il progetto software più conservativo al mondo accetta un nuovo linguaggio, il messaggio per l’industria è chiaro.
Tokio, Axum e il backend web
L’ecosistema async di Rust si è stabilizzato attorno a Tokio, il runtime asincrono che gestisce I/O non bloccante, timer e scheduling dei task. Sopra Tokio, framework come Axum offrono API ergonomiche per costruire servizi HTTP con tipizzazione forte, estrazione automatica dei parametri e middleware componibili. Il modello è diverso da Express o Flask: gli errori di tipo vengono catturati a compile time, e il sistema di ownership previene data race nei handler concorrenti.
Cloudflare utilizza Rust per i propri edge worker. Discord ha riscritto componenti critici del backend da Go a Rust per ridurre la latenza legata al garbage collector. Figma usa Rust per il server di rendering collaborativo. Non sono più esperimenti: sono sistemi in produzione con milioni di utenti.
WebAssembly e il browser
WebAssembly (WASM) ha aperto a Rust un territorio inaspettato: il browser. Compilare Rust in WASM produce moduli compatti e veloci, adatti a elaborazione immagini, crittografia, parsing e logica computazionalmente intensiva lato client. Strumenti come wasm-pack e wasm-bindgen semplificano l’interoperabilità con JavaScript, permettendo di esporre funzioni Rust come moduli importabili in applicazioni web.
Fuori dal browser, il modello WASI (WebAssembly System Interface) estende WASM al server, con runtime come Wasmtime e Wasmer che eseguono moduli WASM in sandbox sicure.
L’ecosistema in numeri
Il registro crates.io supera le 140.000 crate pubblicate. Strumenti CLI come ripgrep, fd, bat e exa hanno dimostrato che Rust produce eseguibili veloci e affidabili per l’uso quotidiano. I compilatori SWC e Turbopack utilizzano Rust per accelerare la build chain di JavaScript e TypeScript, sostituendo strumenti scritti in JavaScript con alternative ordini di grandezza più veloci.
Da linguaggio di nicchia per programmatori di sistemi, Rust è diventato un linguaggio general-purpose con un ecosistema maturo che copre sistemi operativi, backend, tooling e browser.
Link: rust-lang.org
