Programer nudi ponovnu implementaciju GNU Coreutils u Rustu 

gnu-coreutils-hrđa

Korištenje Rusta za ovaj projekt pomoći će ubrzati ovaj proces jer je puno potencijalnih grešaka u potpunosti eliminirano.

Sylvestre Ledru počeo je raditi na ponovnoj implementaciji GNU Coreutilsa u Rustu tijekom pandemije COVID-19 i predstavio ga prošli tjedan tijekom izdanja FOSDEM-a 2023. Napor nazvan uutils sada je pakiran u mnoge distribucije Linuxa, a koristi ga i poznata društvena mreža kroz projekt Yocto.

Usporedbe jezika Rust i C++ imaju zajedničku nit: isticanje Rustove superiornosti u odnosu na C++ u smislu sigurnosti memorije. Urednik RisingWavea objašnjava zašto je ponovno napisao svoj izvorni Cloud DBMS od nule u Rustu nakon što je napustio C++ projekt.

“Rust osigurava sigurnost memorije i niti tijekom kompajliranja uvođenjem pravila vlasništva. Nadilazi RAII, mehanizam upravljanja memorijom koji se obično koristi u C++. Ima dvije prednosti. Prvi je očigledan: nakon što Rust kompajler potvrdi naš program, nećemo imati greške u segmentu ili uvjete utrke tijekom izvođenja, što bi zahtijevalo desetke sati otklanjanja pogrešaka, posebno u visoko konkurentnoj bazi koda iu uglavnom asinkronom. Drugi je suptilniji: Rustov kompajler jednostavno ograničava vrste grešaka, što smanjuje usko ugniježđene isječke koda koji mogu uzrokovati takvo pogrešno ponašanje. Replikacija pogreške značajno je poboljšana korištenjem determinističkog izvršenja. »

GNU Coreutils je paket iz GNU projekta koji sadrži mnoge osnovne alate potrebne za Unix-like operativne sustave: cp (kopirajte datoteku ili direktorij), mkdir (stvorite direktorij), itd. Programer nudi ponovnu implementaciju u jeziku Rust.

Jedan od ciljeva: učiniti paket upotrebljivim na drugim operativnim sustavima: Windows, macOS, Android, FreeBSD itd. Ovaj potez dolazi kako bi oživio raspravu o pitanju treba li nastaviti pokretati nove projekte u C i C++ ili se jednostavno odlučiti za Rust jezik.

“Rust jezik standardno nudi sigurnosna jamstva kada je u pitanju upravljanje memorijom. To nije slučaj s C i C++, čija je uporaba u Mozilli uzrok problema sa sigurnošću memorije”, naglašava Sylvestre Ledru.

Međutim, Bjarne Stroustrup se ne slaže da usporedbe između Rusta i C++ ograničavaju pojam zaštite softvera na sigurnost memorije:

“Ne postoji jedinstvena definicija pojma 'sigurnosti' i možemo postići različite vrste sigurnosti kombinacijom stilova programiranja, bibliotekama podrške i korištenjem statičke analize. Bjarne Stroustrup stoga sugerira da ono što se može dobiti od C++ u smislu sigurnosti softvera ovisi, između ostalog, o programeru i, posebno, o poznavanju alata koje jezik nudi, njegovom majstorstvu kompajlera, itd.

Googleovi inženjeri, svjesni što im C++ nudi kao mogućnosti, krenuli su u izradu verifikatora posudbe u ovom jeziku. To je značajka prevoditelja Rust koja osigurava sigurnost memorije kroz upravljanje dodjelom pokazivača memorije.

Google tim, čija je publikacija izašla u trećem kvartalu prethodne godine, došao do zaključka da sustav sličan C++-u nije pogodan za takvu vježbu. I za da se može postići sigurnost memorije u C++ s kontrolama tijekom izvođenja programa. Drugim riječima, sporim C++ kodom moguće je postići razinu sigurnosti jednaku onoj u Rustu.

Izdanje uređivača RisingWave dolazi u trenutku kada se Rust izdvaja od drugih jezika koji su godinama predstavljani kao alternativa C i C++. Zapravo, jezgra Linuxa postaje sve otvorenija Mozillinom sistemskom programskom jeziku.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.