Egy fejlesztő felajánlja a GNU Coreutils újraimplementációját Rustban 

gnu-coreutils-rust

A Rust használata ebben a projektben felgyorsítja ezt a folyamatot, mivel sok potenciális hiba teljesen megszűnt.

Sylvestre Ledru elkezdett dolgozni a GNU Coreutils Rustban való újraimplementációján a COVID-19 világjárvány idején és a múlt héten mutatta be a FOSDEM 2023-as kiadása során. Az uutils nevű erőfeszítést ma már számos Linux disztribúció csomagolja, és egy híres közösségi hálózat is használja a Yocto projekten keresztül.

A Rust és a C++ nyelvek összehasonlításában van egy közös szál: kiemelve a Rust felsőbbrendűségét a C++-val szemben a memóriabiztonság terén. A RisingWave szerkesztője elmagyarázza, miért írta újra a natív Cloud DBMS-ét a semmiből a Rustban, miután elhagyta a C++ projektet.

„A Rust gondoskodik a memória és a szál biztonságáról fordítási időben a tulajdonjogi szabályok bevezetésével. Ez túlmutat a RAII-n, a C++-ban általánosan használt memóriakezelési mechanizmuson. Két előnye van. Az első nyilvánvaló: amint a Rust fordító érvényesíti programunkat, nem lesznek szegmenshibáink vagy versenyfeltételeink futás közben, ami több tíz órányi hibakeresést igényelne, különösen egy erősen párhuzamos kódbázisban és többnyire aszinkronban. A második finomabb: a Rust fordítója egyszerűen korlátozza a hibák típusát, ami csökkenti a szorosan egymásba ágyazott kódrészleteket, amelyek ilyen hibás viselkedést okozhatnak. A determinisztikus végrehajtás használata jelentősen javítja a hibareplikációt. »

A GNU Coreutils egy csomag a GNU projektből amely számos Unix-szerű operációs rendszerhez szükséges alapvető eszközt tartalmaz: cp (fájl vagy könyvtár másolása), mkdir (könyvtár létrehozása) stb. Egy fejlesztő újbóli megvalósítást kínál a Rust nyelven.

Az egyik cél: más operációs rendszereken is használhatóvá tenni a csomagot: Windows, macOS, Android, FreeBSD stb. Ezzel a lépéssel újraélesztik a vitát arról a kérdésről, hogy folytassuk-e az új projektek elindítását C és C++ nyelven, vagy egyszerűen a Rust nyelv mellett döntsünk.

„A Rust nyelv alapértelmezés szerint biztonsági garanciákat kínál a memóriakezelés terén. Nem ez a helyzet a C és C++ esetében, amelyek Mozillában való használata memóriabiztonsági problémákat okoz” – hangsúlyozza Sylvestre Ledru.

Bjarne Stroustrup azonban nem ért egyet azzal, hogy a Rust és a C++ összehasonlítása a szoftverbiztonság fogalmát a memória biztonságára korlátozza:

„A „biztonság” fogalmának nincs egységes definíciója, és különféle típusú biztonságot érhetünk el a programozási stílusok, a támogatási könyvtárak kombinációjával és a statikus elemzéssel. Bjarne Stroustrup tehát azt sugallja, hogy a C++-ból szoftverbiztonsági szempontból mit lehet beszerezni, többek között a fejlesztőn múlik, és különösen a nyelv által kínált eszközök ismeretén, a fordítómesterségen stb.

A Google mérnökei tisztában vannak azzal, hogy a C++ mit kínál számukra lehetőségként, egy ilyen nyelvű hitelellenőrző létrehozásába fogtak. Ez a Rust fordító egyik funkciója, amely a memóriamutatók kiosztásának kezelésén keresztül biztosítja a memória biztonságát.

Google csapat, amelynek kiadványa az előző év harmadik negyedévében jelent meg, arra a következtetésre jutott hogy a C++-szerű rendszer nem alkalmas egy ilyen gyakorlatra. És hogy hogy a memóriabiztonság C++ nyelven elérhető vezérlőkkel a program végrehajtása során. Más szavakkal, lassú C++ kóddal lehet elérni a Rusttal egyenértékű biztonsági szintet.

A RisingWave szerkesztő megjelenése a Rust kiemelkedik más nyelvek közül, amelyeket évek óta a C és a C++ alternatívájaként mutattak be. Valójában a Linux kernel egyre nyitottabbá válik a Mozilla rendszerprogramozási nyelve felé.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.