Deweloper oferuje reimplementację GNU Coreutils w Rust 

gnu-coreutils-rdza

Użycie Rusta w tym projekcie pomoże przyspieszyć ten proces, ponieważ wiele potencjalnych błędów zostanie całkowicie wyeliminowanych.

Sylvestre Ledru rozpoczął pracę nad reimplementacją GNU Coreutils w Rust podczas pandemii COVID-19 i zaprezentował ją w zeszłym tygodniu podczas edycji FOSDEM 2023. Wysiłek o nazwie uutils jest obecnie pakowany przez wiele dystrybucji Linuksa i jest również używany przez słynną sieć społecznościową za pośrednictwem projektu Yocto.

Porównania języków Rust i C++ mają wspólny wątek: podkreślenie wyższości Rusta nad C++ pod względem bezpieczeństwa pamięci. Redaktor RisingWave wyjaśnia, dlaczego po opuszczeniu projektu C++ napisał od nowa swój natywny Cloud DBMS w Rust.

„Rust zapewnia bezpieczeństwo pamięci i wątków w czasie kompilacji, wprowadzając zasady własności. Wykracza poza RAII, mechanizm zarządzania pamięcią powszechnie używany w C++. Ma dwie zalety. Pierwsza jest oczywista: gdy kompilator Rusta zwaliduje nasz program, nie będziemy mieć żadnych błędów segmentów ani warunków wyścigu w czasie wykonywania, co wymagałoby dziesiątek godzin debugowania, zwłaszcza w wysoce współbieżnej bazie kodu iw większości asynchronicznej. Drugi jest bardziej subtelny: kompilator Rust po prostu ogranicza typy awarii, co zmniejsza liczbę ściśle zagnieżdżonych fragmentów kodu, które mogą powodować takie błędne zachowanie. Replikacja błędów została znacznie ulepszona dzięki zastosowaniu wykonywania deterministycznego. »

GNU Coreutils to pakiet z projektu GNU który zawiera wiele podstawowych narzędzi potrzebnych w systemach operacyjnych typu Unix: cp (skopiuj plik lub katalog), mkdir (utwórz katalog) itp. Deweloper oferuje reimplementację w języku Rust.

Jeden z celów: aby pakiet był użyteczny w innych systemach operacyjnych: Windows, macOS, Android, FreeBSD itp. Posunięcie to ożywia debatę na temat tego, czy kontynuować rozpoczynanie nowych projektów w C i C++, czy po prostu wybrać język Rust.

„Język Rust domyślnie oferuje gwarancje bezpieczeństwa, jeśli chodzi o zarządzanie pamięcią. Inaczej jest w przypadku C i C++, których użycie w Mozilli jest przyczyną problemów z bezpieczeństwem pamięci”, podkreśla Sylvestre Ledru.

Jednak Bjarne Stroustrup nie zgadza się, że porównania między Rust i C++ ograniczają pojęcie zabezpieczania oprogramowania do zabezpieczania pamięci:

„Nie ma jednej definicji pojęcia „bezpieczeństwo” i możemy osiągnąć różne rodzaje bezpieczeństwa poprzez połączenie stylów programowania, bibliotek pomocniczych i wykorzystanie analizy statycznej. Bjarne Stroustrup sugeruje zatem, że to, co można uzyskać z C++ w zakresie bezpieczeństwa oprogramowania, zależy między innymi od programisty, a w szczególności od znajomości narzędzi, które oferuje język, jego opanowania kompilatora itp.

Inżynierowie Google świadomi tego, jakie możliwości daje im C++, podjęli się stworzenia weryfikatora kredytów w tym języku. Jest to funkcja kompilatora Rust, która zapewnia bezpieczeństwo pamięci poprzez zarządzanie alokacją wskaźników pamięci.

zespół Google'a, którego publikacja ukazała się w trzecim kwartale roku poprzedniego, doszedł do wniosku że system podobny do C++ nie nadaje się do takiego ćwiczenia. I do że można osiągnąć bezpieczeństwo pamięci w C++ ze sterowaniem podczas wykonywania programu. Innymi słowy, to przy wolnym kodzie C++ możliwe jest osiągnięcie poziomu bezpieczeństwa równoważnego poziomowi Rusta.

Wydanie edytora RisingWave następuje w momencie, gdy Rust wyróżnia się na tle innych języków, które od lat przedstawiane są jako alternatywy dla C i C++. W rzeczywistości jądro Linuksa staje się coraz bardziej otwarte na systemowy język programowania Mozilli.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.