Rust: presto arriverà nel codice sorgente del kernel Linux
È già da tempo che si parla della possibilità di scrivere porzioni di kernel utilizzando il linguaggio di programmazione Rust. Da una mailing list interna al team di sviluppo, si concretizzano gli scenari della futura implementazione in Linux.
Rust e Linux: questo matrimonio s’ha da fare
Il Rust è un linguaggio di programmazione di tipo compilato, nato da un progetto open source originariamente sviluppato da Mozilla. La sua popolarità è tale, da essersi classificato come linguaggio di programmazione più amato degli scorsi 5 anni su Stack Overflow, con oltre l’80% di voti favorevoli, di un campione di oltre 50’000 sviluppatori. Attualmente questo linguaggio è adottato anche in aziende di livello nel mondo IT. Oltre alla stessa Mozilla, infatti, viene utilizzato anche in alcuni progetti di Dropbox, Cloudflare e Microsoft. Il colosso di Redmond, ha addirittura dichiarato di considerare il Rust come un’alternativa sicura al C.
Attualmente, il linguaggio prevalente utilizzato per lo sviluppo del kernel Linux è il C. Questo linguaggio, come probabilmente molti di voi sapranno, porta con sè anche alcuni inconvenienti. Spesso infatti richiede tempi di sviluppo maggiori, e non sono pochi i motivi di difficoltà intrinseca. Vi ricordo ad esempio la crescente difficoltà nel trovare manutentori del kernel, di cui vi abbiamo parlato in questo articolo. Da qui è nata, negli ultimi tempi, la discussione interna alla comunità degli sviluppatori sulla possibilità di adottare il linguaggio Rust. Discussione a cui ha partecipato anche il creatore del kernel stesso, Linus Torvalds.
Gli scenari futuri
Linus, infatti, ha di recente dichiarato che, anche se il C continuerà ad essere il linguaggio principale con cui sviluppare i componenti core del kernel, il Rust potrebbe essere utilizzato per alcuni moduli, come i driver.
Sono convinto che succederà. Potrebbe non essere Rust. Ma accadrà che avremo modelli diversi per scrivere questo tipo di cose, e C non sarà l’unico.
Le sue preoccupazioni, tra l’altro, concernono la presenza di eventuali bug in rustc, il compilarore del linguaggio che, anche se molto rari, potrebbero essere estremamente complessi da risolvere.
Per implementare il Rust nel codice sorgente di Linux, sono ovviamente necessarie delle interfacce ad hoc. Josh Triplett del team di sviluppo di Rust si è offerto di supportare il kernel Linux con nuove funzionalità specifiche, se necessario. Il suo team ha anche segnalato la volontà di rendere la compatibilità con il kernel Linux una nuova priorità nello sviluppo del linguaggio stesso. Se volete leggere la discussione ufficiale in merito, vi rimando alla mailing list tramite questo link.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.