Sylvestre Ledru alustas tööd GNU Coreutilsi uuesti juurutamisega Rustis COVID-19 pandeemia ajal ja esitles seda eelmisel nädalal FOSDEMi 2023. aasta väljaande ajal. Uutils-nimelist pingutust pakivad nüüd paljud Linuxi distributsioonid ja seda kasutab Yocto projekti kaudu ka kuulus suhtlusvõrgustik.
Rusti ja C++ keelte võrdlustel on ühine joon: rõhutada Rusti paremust C++ ees mäluohutuse osas. RisingWave'i toimetaja selgitab, miks ta kirjutas pärast C++ projektist lahkumist oma loomuliku pilve DBMS-i Rustis nullist ümber.
"Rooste tagab mälu ja lõime ohutuse kompileerimise ajal, kehtestades omanikureeglid. See läheb kaugemale RAII-st, mäluhaldusmehhanismist, mida tavaliselt kasutatakse C++-s. Sellel on kaks eelist. Esimene on ilmne: kui Rust-kompilaator meie programmi valideerib, ei teki meil käitusajal segmendivigu ega võistlustingimusi, mis nõuaks kümneid tunde silumist, eriti väga samaaegses koodibaasis ja enamasti asünkroonses. Teine on peenem: Rusti kompilaator lihtsalt piirab tõrgete tüüpe, mis vähendab tihedalt pesastatud koodilõike, mis võivad sellist vigast käitumist põhjustada. Vigade replikatsioon paraneb oluliselt deterministliku täitmise abil. »
GNU Coreutils on pakett GNU projektist mis sisaldab palju põhitööriistu, mis on vajalikud Unixi-laadsete operatsioonisüsteemide jaoks: cp (faili või kataloogi kopeerimine), mkdir (kataloogi loomine) jne. Arendaja pakub Rust-keeles uuesti juurutamist.
Üks eesmärke: muuta pakett teistes operatsioonisüsteemides kasutatavaks: Windows, macOS, Android, FreeBSD jne. Selle sammu eesmärk on taaselustada arutelu küsimuse üle, kas jätkata uute projektide alustamist C ja C++ või lihtsalt valida Rust keele kasuks.
"Rusti keel pakub mäluhalduse puhul vaikimisi turvagarantiid. See ei kehti C ja C++ puhul, mille kasutamine Mozillas põhjustab mäluturbe probleeme,“ rõhutab Sylvestre Ledru.
Bjarne Stroustrup aga ei nõustu sellega, et Rusti ja C++ võrdlused piiravad tarkvara turvalisuse mõistet mälu turvalisusega:
"Turvalisuse mõistel pole ühtset definitsiooni ja programmeerimisstiilide, tugiteekide ja staatilise analüüsi võimendamise kaudu saame saavutada mitmesuguseid turbetüüpe. Bjarne Stroustrup annab seega mõista, et see, mida C++-st saab tarkvara turvalisuse osas, sõltub muuhulgas arendajast ja eelkõige keele pakutavate tööriistade tundmisest, tema kompilaatori valdamisest jne.
Google'i insenerid, olles teadlikud sellest, mida C++ neile võimalustena pakub, on asunud selles keeles laenutaatlejat looma. See on Rust-kompilaatori funktsioon, mis tagab mälu ohutuse mäluosuti eraldamise haldamise kaudu.
Google'i tiim, mille väljaanne ilmus eelmise aasta kolmandas kvartalis, jõudis järeldusele et C++-laadne süsteem ei sobi selliseks harjutuseks. Ja selleks et C++ keeles on võimalik saavutada mälu turvalisus koos juhtnuppudega programmi täitmise ajal. Teisisõnu, just aeglase C++ koodiga on võimalik saavutada Rustiga samaväärne turvatase.
RisingWave'i redaktori väljalase tuleneb sellest, et Rust eristub teistest keeltest, mida on aastaid esitatud C ja C++ alternatiividena. Tegelikult on Linuxi kernel muutumas Mozilla süsteemide programmeerimiskeelele üha avatumaks.