Programer nudi reimplementaciju GNU Coreutilsa u Rustu 

gnu-coreutils-rust

Korištenje Rusta za ovaj projekt pomoći će ubrzanju ovog procesa jer je puno potencijalnih grešaka potpuno eliminirano.

Sylvestre Ledru je počeo raditi na ponovnoj implementaciji GNU Coreutilsa u Rustu tokom pandemije COVID-19 i predstavio ga prošle sedmice tokom izdanja FOSDEM-a 2023. Napor koji se zove uutils sada je upakovan u mnoge Linux distribucije, a koristi ga i poznata društvena mreža kroz Yocto projekat.

Poređenja Rust i C++ jezika imaju zajedničku nit: naglašavanje Rustove superiornosti nad C++ u smislu sigurnosti memorije. Urednik RisingWave objašnjava zašto je prepravio svoj izvorni Cloud DBMS od nule u Rustu nakon što je napustio C++ projekat.

“Rust osigurava sigurnost memorije i niti u vrijeme kompajliranja uvođenjem pravila o vlasništvu. Nadilazi RAII, mehanizam za upravljanje memorijom koji se obično koristi u C++. Ima dvije prednosti. Prvi je očigledan: kada Rust kompajler potvrdi naš program, nećemo imati bilo kakve greške u segmentu ili uslove trke u toku izvođenja, što bi zahtevalo desetine sati otklanjanja grešaka, posebno u visoko konkurentnoj bazi koda i uglavnom asinhronoj. Drugi je suptilniji: Rustov kompajler jednostavno ograničava tipove grešaka, što smanjuje čvrsto ugniježđene isječke koda koji mogu uzrokovati takvo pogrešno ponašanje. Replikacija greške je značajno poboljšana upotrebom determinističkog izvršenja. »

GNU Coreutils je paket iz GNU projekta koji sadrži mnoge osnovne alate potrebne za operativne sisteme slične Unixu: cp (kopiraj datoteku ili direktorij), mkdir (kreiraj direktorij) itd. Programer nudi reimplementaciju na Rust jeziku.

Jedan od ciljeva: učiniti paket upotrebljivim na drugim operativnim sistemima: Windows, macOS, Android, FreeBSD, itd. Ovaj potez dolazi da oživi debatu o pitanju da li nastaviti sa pokretanjem novih projekata u C i C++ ili se jednostavno odlučiti za Rust jezik.

„Rust jezik podrazumevano nudi sigurnosne garancije kada je u pitanju upravljanje memorijom. To nije slučaj sa C i C++, čija je upotreba u Mozili uzrok problema sa sigurnošću memorije”, naglašava Sylvestre Ledru.

Međutim, Bjarne Stroustrup se ne slaže da poređenja između Rusta i C++ ograničavaju pojam osiguranja softvera na osiguranje memorije:

„Ne postoji jedinstvena definicija pojma 'sigurnosti' i možemo postići različite vrste sigurnosti kombinacijom stilova programiranja, biblioteka podrške i korištenjem statičke analize. Bjarne Stroustrup stoga sugerira da ono što se može dobiti od C++-a u smislu sigurnosti softvera ovisi, između ostalog, od programera i, posebno, od poznavanja alata koje jezik nudi, njegovog vladanja kompajlerom itd.

Google inženjeri, svjesni šta im C++ nudi kao mogućnosti, krenuli su u kreiranje verifikatora kredita na ovom jeziku. To je karakteristika Rust kompajlera koja osigurava sigurnost memorije kroz upravljanje dodjelom memorijskog pokazivača.

Google tim, čija je publikacija izašla u trećem kvartalu prethodne godine, došao do zaključka o da sistem sličan C++-u nije pogodan za takvu vježbu. I to da se sigurnost memorije u C++-u može postići sa kontrolama tokom izvršavanja programa. Drugim riječima, sa sporim C++ kodom moguće je postići nivo sigurnosti koji je ekvivalentan Rust-ovom.

Izdanje RisingWave editora dolazi pošto se Rust izdvaja od drugih jezika koji su godinama predstavljani kao alternative C i C++. U stvari, Linux kernel postaje sve otvoreniji za Mozilla sistemski programski jezik.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.