Il linguaggio Rust non si ferma al Kernel, usato per compilare Coreutils rende tutto più veloce
Negli ultimi anni la definizione e applicazioni di linguaggi sicuri ed efficienti, con cui sostituire C e C++, è stata molto serrata. Evitare problemi di sicurezza ( come l’ultimo per container su Kernel recenti ) è cosa sempre gradita. E proprio per il Kernel da un po’ di tempo si parla di Rust, ma l’ultima notizia potrebbe rappresentare l’allungo finale anche per lo userspace.
Con l’arrivo della pandemia, lo sviluppatore di Mozilla Sylvestre Ledru, come molti di noi, ha cominciato a passare molto più tempo a casa, e quindi ha deciso di impiegare questo tempo ricompilando Debian con LLVM come compilatore principale, al posto di GCC. Tra i pacchetti in cui si è imbattuto, ovviamente, c’è anche coreutils, che contiene tutti i principali comandi che usiamo tutti i giorni: ls, grep, find, ps…
Ha anche pensato fosse l’occasione utile per imparare un nuovo linguaggio, magari proprio quello nato in seno a Mozilla: Rust. E cosa c’è di meglio che imparare seguendo un caso reale, come la riscrittura di coreutils?
Ha quindi iniziato a collaborare con un progetto nato nel 2013 che ha proprio questo come obbiettivo.
Non vogliamo dire che il suo intervento sia stato determinante, ma lui stesso raccontava di poter avere un’installazione di Debian base (ma con GNOME e Firefox) funzionante dopo pochi mesi, segno che il progetto era sulla buona strada.
Settimana scorsa Sylvestre ha fornito un update sul lavoro, nel quale sottolinea come il grosso sia ormai completato. Infatti, di tutte le utility presenti nel pacchetto solo “stty” è ancora da riscrivere, mentre il resto ha già una sua versione in Rust, funzionante e (quasi sempre) completa.
Questo non vuol dire che funzioni tutto come aspettato: la validazione automatica mostra ancora circa il 25% di test falliti, ma il miglioramento è stato molto rapido, con un’accelerazione nelle ultime settimane. E, per alcuni casi, ci sono notizie anche migliori:
Performances. Now, some binaries are significantly faster than GNU (ex: head, cut, etc)
Le performance. Ora, alcuni binari sono significativamente più veloci delle controparti GNU (per esempio: head, cut, etc…)
Non sono stati pubblicati benchmark comparativi, quindi dobbiamo fidarci della parola. Ma anche senza prestazioni mirabolanti, la sola sicurezza data dall’uso di Rust potrebbe giustificare l’adozione del pacchetto come standard. O no?
Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.