Разработчик предлага повторно внедряване на GNU Coreutils в Rust 

gnu-coreutils-ръжда

Използването на Rust за този проект ще помогне за ускоряване на този процес, тъй като много потенциални грешки са напълно елиминирани.

Sylvestre Ledru започна работа по повторно внедряване на GNU Coreutils в Rust по време на пандемията от COVID-19 и го представи миналата седмица по време на изданието на FOSDEM през 2023 г. Усилието, наречено uutils, вече е пакетирано от много Linux дистрибуции и се използва също от известна социална мрежа чрез проекта Yocto.

Сравненията на езиците Rust и C++ имат обща нишка: подчертаване на превъзходството на Rust над C++ по отношение на безопасността на паметта. Редакторът на RisingWave обяснява защо е пренаписал родната си Cloud DBMS от нулата в Rust, след като е напуснал проекта C++.

„Rust гарантира безопасността на паметта и нишките по време на компилиране, като въвежда правила за собственост. Той надхвърля RAII, механизъм за управление на паметта, който обикновено се използва в C++. Има две предимства. Първият е очевиден: след като компилаторът на Rust валидира нашата програма, няма да имаме грешки в сегменти или условия на състезание по време на изпълнение, което би изисквало десетки часове отстраняване на грешки, особено в силно конкурентна кодова база и в предимно асинхронни. Вторият е по-фин: компилаторът на Rust просто ограничава типовете грешки, което намалява плътно вложените кодови фрагменти, които могат да причинят такова неправилно поведение. Репликацията на грешки е значително подобрена чрез използване на детерминирано изпълнение. »

GNU Coreutils е пакет от проекта GNU който съдържа много основни инструменти, необходими за Unix-подобни операционни системи: cp (копиране на файл или директория), mkdir (създаване на директория) и др. Разработчик предлага повторно внедряване на езика Rust.

Една от целите: да направи пакета използваем на други операционни системи: Windows, macOS, Android, FreeBSD и др. Този ход идва, за да съживи дебата по въпроса дали да продължим да стартираме нови проекти в C и C++ или просто да изберем езика Rust.

„Езикът Rust предлага гаранции за сигурност по подразбиране, когато става въпрос за управление на паметта. Това не е случаят с C и C++, чието използване в Mozilla е причина за проблеми със сигурността на паметта“, подчертава Силвестре Ледру.

Bjarne Stroustrup обаче не е съгласен, че сравненията между Rust и C++ ограничават идеята за защита на софтуера до тази за защита на паметта:

„Няма единна дефиниция на понятието „сигурност“ и можем да постигнем различни видове сигурност чрез комбинация от стилове на програмиране, поддържащи библиотеки и чрез използване на статичен анализ. По този начин Bjarne Stroustrup предполага, че това, което може да се получи от C++ по отношение на софтуерната сигурност, зависи, наред с други неща, от разработчика и по-специално от познаването на инструментите, които предлага езикът, неговото майсторство на компилатора и т.н.

Инженерите на Google, осъзнавайки какви възможности им предлага C++, се заеха със създаването на верификатор на заеми на този език. Това е функция на компилатора Rust, която гарантира безопасността на паметта чрез управление на разпределението на указателя на паметта.

Екипът на Google, чиято публикация се появи през третото тримесечие на предходната година, стигна до заключението на че C++-подобната система не се поддава на такова упражнение. И към че безопасността на паметта в C++ може да бъде постигната с контроли по време на изпълнение на програмата. С други думи, с бавен C++ код е възможно да се постигне ниво на сигурност, еквивалентно на това на Rust.

Пускането на редактора RisingWave идва, когато Rust се откроява от другите езици, които са били представяни от години като алтернативи на C и C++. Всъщност ядрото на Linux става все по-отворено към системния програмен език на Mozilla.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.