È stato verificato che la prossima edizione del kernel Linux conterrà il supporto per il popolare linguaggio di programmazione Rust. Secondo The Register, il fondatore di Linux Linus Torvalds ha approvato una richiesta pull che aggiungerebbe la funzionalità Rust al kernel nella versione 6.1.
L’obiettivo non è riscrivere l’intero kernel in Rust, ma piuttosto integrare l’attuale codebase C con nuovi componenti scritti nel linguaggio secondario, riducendo la possibilità di problemi di memoria che portano a vulnerabilità di sicurezza. Con l’introduzione di Linux 6.0 lo scorso fine settimana, tutti gli occhi saranno puntati sulla prossima versione. Sebbene la versione più recente del kernel includa solo modifiche minori, l’inclusione di Rust in Linux 6.1 è vista come uno sviluppo significativo.
Linux sta per introdurre il nuovo supporto
Secondo un recente sondaggio StackOverflow di 70.000 ingegneri, sebbene Rust non sia il linguaggio più utilizzato (questo onore va a JavaScript), è stato selezionato “più apprezzato” dagli intervistati. È anche uno dei linguaggi più redditizi per gli sviluppatori.
La spinta per introdurre Rust in Linux è in corso da tempo e ha ottenuto il supporto di un’ampia gamma di parti interessate, tra cui Google, che ha creato Android sulla piattaforma Linux.
“Riteniamo che Rust sia ora pronto per competere con C come linguaggio praticabile per la creazione del kernel”, ha affermato Wedson Almeida Filho, un membro del progetto Android. “Può aiutarci a ridurre la quantità di possibili difetti e vulnerabilità di sicurezza nei programmi privilegiati, interagendo con il kernel principale e mantenendo le sue caratteristiche prestazionali”.
Fino a poco tempo, le preoccupazioni sulla necessità di creare estensioni non standard per Rust per renderlo compatibile con Linux hanno soffocato la crescita. Tuttavia, si è finalmente concluso che il linguaggio è ben supportato in Clang, un front-end del compilatore per la famiglia di linguaggi C.
La prima unione aggiunge circa 12.500 righe di codice Rust al kernel, fornendo il framework per future richieste pull che includeranno astrazioni di sottosistemi e driver basati su Rust.