Vývojář nabízí reimplementaci GNU Coreutils v Rustu 

gnu-coreutils-rust

Použití Rustu pro tento projekt pomůže urychlit tento proces, protože mnoho potenciálních chyb je zcela odstraněno.

Sylvestre Ledru začal pracovat na reimplementaci GNU Coreutils v Rustu během pandemie COVID-19 a představil jej minulý týden během vydání FOSDEM v roce 2023. Úsilí zvané uutils je nyní součástí mnoha linuxových distribucí a využívá ho také známá sociální síť prostřednictvím projektu Yocto.

Srovnání jazyků Rust a C++ mají společné vlákno: zdůraznění převahy Rustu nad C++ z hlediska bezpečnosti paměti. Editor RisingWave vysvětluje, proč po odchodu z projektu C++ přepsal svůj nativní Cloud DBMS od nuly do Rustu.

„Rust zajišťuje bezpečnost paměti a vláken v době kompilace zavedením pravidel vlastnictví. Jde nad rámec RAII, mechanismu správy paměti běžně používaného v C++. Má to dvě výhody. První je zřejmý: jakmile kompilátor Rust ověří náš program, nebudeme mít za běhu žádné chyby segmentů ani závodní podmínky, které by vyžadovaly desítky hodin ladění, zejména ve vysoce souběžné kódové základně a ve většině asynchronním režimu. Druhý je jemnější: kompilátor Rust jednoduše omezuje typy selhání, což snižuje těsně vnořené úryvky kódu, které mohou způsobit takové chybné chování. Replikace chyb je výrazně vylepšena použitím deterministického provádění. »

GNU Coreutils je balíček z projektu GNU který obsahuje mnoho základních nástrojů potřebných pro operační systémy typu Unix: cp (kopírování souboru nebo adresáře), mkdir (vytvoření adresáře) atd. Vývojář nabízí reimplementaci v jazyce Rust.

Jeden z cílů: aby byl balíček použitelný na jiných operačních systémech: Windows, macOS, Android, FreeBSD atd. Tento krok oživuje debatu o tom, zda pokračovat v zakládání nových projektů v C a C++, nebo se prostě rozhodnout pro jazyk Rust.

„Jazyk Rust nabízí ve výchozím nastavení záruky zabezpečení, pokud jde o správu paměti. To není případ C a C++, jejichž použití v Mozille je příčinou problémů se zabezpečením paměti,“ zdůrazňuje Sylvestre Ledru.

Bjarne Stroustrup však nesouhlasí s tím, že srovnání mezi Rustem a C++ omezuje pojem zabezpečení softwaru na zabezpečení paměti:

„Neexistuje jediná definice pojmu „zabezpečení“ a můžeme dosáhnout různých typů zabezpečení kombinací stylů programování, podpůrných knihoven a využitím statické analýzy. Bjarne Stroustrup tak naznačuje, že to, co lze z C++ z hlediska softwarového zabezpečení získat, závisí mimo jiné na vývojáři a zejména na znalosti nástrojů, které daný jazyk nabízí, jeho zvládnutí kompilátoru atp.

Inženýři Google, vědomi si toho, jaké možnosti jim C++ nabízí, se pustili do vytvoření ověřovače půjček v tomto jazyce. Je to funkce kompilátoru Rust, která zajišťuje bezpečnost paměti prostřednictvím správy alokace ukazatelů paměti.

tým Google, jehož publikace vyšla ve třetím čtvrtletí předchozího roku, dospěl k závěru že systém podobný C++ se k takovému cvičení nehodí. A do že lze dosáhnout bezpečnosti paměti v C++ s ovládacími prvky během provádění programu. Jinými slovy, právě s pomalým C++ kódem je možné dosáhnout úrovně zabezpečení ekvivalentní úrovni Rust.

Vydání editoru RisingWave přichází ve chvíli, kdy Rust vyniká nad ostatními jazyky, které byly léta prezentovány jako alternativy k C a C++. Ve skutečnosti se linuxové jádro stále více otevírá systémovému programovacímu jazyku Mozilly.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.