Vývojár ponúka reimplementáciu GNU Coreutils v Ruste 

gnu-coreutils-rust

Použitie Rustu pre tento projekt pomôže urýchliť tento proces, pretože množstvo potenciálnych chýb je úplne eliminovaných.

Sylvestre Ledru začal pracovať na reimplementácii GNU Coreutils v Ruste počas pandémie COVID-19 a predstavili ho minulý týždeň počas vydania FOSDEM v roku 2023. Úsilie nazývané uutils je teraz súčasťou mnohých distribúcií Linuxu a využíva ho aj známa sociálna sieť prostredníctvom projektu Yocto.

Porovnania jazykov Rust a C++ majú spoločnú tému: zvýrazňujúce nadradenosť Rustu nad C++ z hľadiska bezpečnosti pamäte. Editor RisingWave vysvetľuje, prečo po opustení projektu C++ prepísal svoj pôvodný Cloud DBMS od nuly v Ruste.

„Rust zaisťuje bezpečnosť pamäte a vlákien v čase kompilácie zavedením pravidiel vlastníctva. Ide nad rámec RAII, mechanizmu správy pamäte bežne používaného v C++. Má to dve výhody. Prvý je zrejmý: akonáhle kompilátor Rust overí náš program, nebudeme mať za behu žiadne chyby segmentov ani rasové podmienky, čo by si vyžadovalo desiatky hodín ladenia, najmä vo vysoko súbežnom kóde a väčšinou asynchrónne. Druhý je jemnejší: kompilátor Rust jednoducho obmedzuje typy porúch, čo znižuje tesne vnorené úryvky kódu, ktoré môžu spôsobiť takéto chybné správanie. Replikácia chýb je výrazne vylepšená použitím deterministického vykonávania. »

GNU Coreutils je balík z projektu GNU ktorý obsahuje mnoho základných nástrojov potrebných pre operačné systémy podobné Unixu: cp (skopírujte súbor alebo adresár), mkdir (vytvorte adresár) atď. Vývojár ponúka reimplementáciu v jazyku Rust.

Jeden z cieľov: aby bol balík použiteľný aj na iných operačných systémoch: Windows, macOS, Android, FreeBSD atď. Tento krok má oživiť diskusiu o tom, či pokračovať v spúšťaní nových projektov v C a C++ alebo sa jednoducho rozhodnúť pre jazyk Rust.

„Jazyk Rust štandardne ponúka záruky bezpečnosti, pokiaľ ide o správu pamäte. To nie je prípad C a C++, ktorých použitie v Mozille je príčinou problémov s bezpečnosťou pamäte,“ zdôrazňuje Sylvestre Ledru.

Bjarne Stroustrup však nesúhlasí s tým, že porovnania medzi Rustom a C++ obmedzujú pojem zabezpečenia softvéru na zabezpečenie pamäte:

„Neexistuje jediná definícia pojmu „zabezpečenie“ a môžeme dosiahnuť rôzne typy zabezpečenia kombináciou štýlov programovania, podporných knižníc a využitím statickej analýzy. Bjarne Stroustrup tak naznačuje, že to, čo sa dá z C++ z hľadiska softvérovej bezpečnosti získať, závisí okrem iného aj od vývojára a najmä od znalosti nástrojov, ktoré daný jazyk ponúka, jeho zvládnutia kompilátora atď.

Inžinieri Google, vedomí si toho, aké možnosti im C++ ponúka, sa pustili do vytvorenia overovača pôžičiek v tomto jazyku. Je to funkcia kompilátora Rust, ktorá zaisťuje bezpečnosť pamäte prostredníctvom správy alokácie ukazovateľov pamäte.

tím Google, ktorej publikácia vyšla v treťom štvrťroku predchádzajúceho roka, dospel k záveru že systém podobný C++ nie je vhodný na takéto cvičenie. A do že je možné dosiahnuť bezpečnosť pamäte v C++ s ovládacími prvkami počas vykonávania programu. Inými slovami, práve s pomalým C++ kódom je možné dosiahnuť úroveň bezpečnosti ekvivalentnú úrovni Rust.

Vydanie editora RisingWave prichádza, keď sa Rust odlišuje od iných jazykov, ktoré boli roky prezentované ako alternatívy k C a C++. V skutočnosti sa linuxové jadro čoraz viac otvára systémovému programovaciemu jazyku Mozilly.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.