>>215811Risposta breve: sì.
Risposta lunga: Rust fa esattamente quel che avrebbe dovuto fare qualsiasi linguaggio di programmazione come il C o i suoi simili.
Cioè esigere che sia lo sviluppatore a indicare con chiarezza chi possiede un oggetto, chi lo prende in prestito, e che validità temporale ha.
In realtà sono tre linguaggi di programmazione in uno:
- il Rust normale, con le sullodate caratteristiche
- il Rust "unsafe", dove gran parte delle sullodate caratteristiche si possono aggirare
- il Rust asincrono, in cui le funzioni asincrone "ritornano subito" lasciando traccia di sé stesse ad un gestore che le esegue solo quando ci sono dati da gestire (di fatto va bene solo per servizi web, non ci sono altri use case notevoli)
- in più, un complesso sottolinguaggio di macro.
Inoltre è nativamente previsto per essere multipiattaforma, ha un suo sistema di moduli (di cui scarica automaticamente le dipendenze, e si possono selezionare singolarmente anche versioni più obsolete), ha un suo build system molto più semplice del Makefile, ha sue librerie statiche e dinamiche, eccetera.
L'unico svantaggio è che "hello world" è un eseguibile da 350k se compilato in maniera "release" e strippato dei simboli di debug.
>siccome fra i developer ci sono un mucchio di troon, farlo approvare per il kernel Linux è stata una strada lunga e tortuosa e ancora in salita…