En udvikler tilbyder en genimplementering af GNU Coreutils i Rust 

gnu-coreutils-rust

Brug af Rust til dette projekt vil hjælpe med at fremskynde denne proces, da en masse potentielle fejl er fuldstændig elimineret.

Sylvestre Ledru begyndte at arbejde på en genimplementering af GNU Coreutils i Rust under COVID-19-pandemien og præsenterede den i sidste uge under 2023-udgaven af ​​FOSDEM. Indsatsen kaldet uutils er nu pakket af mange Linux-distributioner og bruges også af et berømt socialt netværk gennem Yocto-projektet.

Sammenligninger af Rust- og C++-sprog har en rød tråd: fremhæver Rusts overlegenhed over C++ med hensyn til hukommelsessikkerhed. RisingWave-redaktøren forklarer, hvorfor han omskrev sin oprindelige Cloud DBMS fra bunden i Rust efter at have forladt C++-projektet.

"Rust sikrer hukommelse og trådsikkerhed på kompileringstidspunktet ved at indføre ejerskabsregler. Det går ud over RAII, en hukommelsesstyringsmekanisme, der almindeligvis bruges i C++. Det har to fordele. Den første er indlysende: når først Rust-kompileren validerer vores program, vil vi ikke have nogen segmentfejl eller løbsbetingelser under kørsel, hvilket ville kræve titusvis af timers fejlfinding, især i en meget samtidig kodebase og for det meste asynkron. Den anden er mere subtil: Rusts compiler begrænser simpelthen typerne af fejl, hvilket reducerer tæt indlejrede kodestykker, der kan forårsage sådan fejlagtig adfærd. Fejlreplikering er væsentligt forbedret ved at bruge deterministisk udførelse. »

GNU Coreutils er en pakke fra GNU-projektet som indeholder mange grundlæggende værktøjer, der er nødvendige for Unix-lignende operativsystemer: cp (kopier en fil eller et bibliotek), mkdir (opret en mappe) osv. En udvikler tilbyder en genimplementering i Rust-sproget.

Et af målene: at gøre pakken brugbar på andre operativsystemer: Windows, macOS, Android, FreeBSD osv. Tiltaget kommer for at genoplive debatten om spørgsmålet om, hvorvidt man skal fortsætte med at starte nye projekter i C og C++ eller blot vælge Rust-sproget.

"Rust-sproget tilbyder sikkerhedsgarantier som standard, når det kommer til hukommelsesstyring. Dette er ikke tilfældet med C og C++, hvis brug i Mozilla er årsagen til hukommelsessikkerhedsproblemer”, understreger Sylvestre Ledru.

Bjarne Stroustrup er dog uenig i, at sammenligninger mellem Rust og C++ begrænser begrebet sikring af software til sikring af hukommelse:

"Der er ingen enkelt definition af begrebet 'sikkerhed', og vi kan opnå en række forskellige typer sikkerhed gennem en kombination af programmeringsstile, støttebiblioteker og ved at udnytte statisk analyse. Bjarne Stroustrup antyder således, at hvad der kan hentes fra C++ med hensyn til softwaresikkerhed blandt andet afhænger af udvikleren og i særdeleshed af kendskabet til de værktøjer, sproget tilbyder, dennes beherskelse af compileren mv.

Googles ingeniører, der er klar over, hvad C++ tilbyder dem som muligheder, er gået i gang med at oprette en låneverifikator på dette sprog. Det er en funktion i Rust-kompileren, der sikrer hukommelsessikkerhed gennem administration af hukommelsespointerallokering.

Google-team, hvis udgivelse udkom i tredje kvartal det foregående år, kom frem til at det C++-lignende system ikke egner sig til sådan en øvelse. Og til at hukommelsessikkerhed i C++ kan opnås med kontroller under programafvikling. Med andre ord, det er med langsom C++ kode, at det er muligt at opnå et sikkerhedsniveau svarende til Rust.

Udgivelsen af ​​RisingWave-editoren kommer, da Rust skiller sig ud fra andre sprog, der i årevis er blevet præsenteret som alternativer til C og C++. Faktisk bliver Linux-kernen mere og mere åben for Mozillas systemprogrammeringssprog.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.