Un dezvoltator oferă o reimplementare a GNU Coreutils în Rust 

gnu-coreutils-rugina

Utilizarea Rust pentru acest proiect va ajuta la accelerarea acestui proces, deoarece o mulțime de erori potențiale sunt complet eliminate.

Sylvestre Ledru a început să lucreze la o reimplementare a GNU Coreutils în Rust în timpul pandemiei de COVID-19 și l-a prezentat săptămâna trecută în cadrul ediției 2023 a FOSDEM. Efortul numit uutils este acum împachetat de multe distribuții Linux și este folosit și de o rețea socială celebră prin proiectul Yocto.

Comparațiile dintre limbajele Rust și C++ au un fir comun: evidențierea superiorității Rust față de C++ în ceea ce privește siguranța memoriei. Editorul RisingWave explică de ce și-a rescris Cloud DBMS nativ de la zero în Rust, după ce a părăsit proiectul C++.

„Rust asigură siguranța memoriei și a firelor de execuție în timpul compilării prin introducerea regulilor de proprietate. Merge dincolo de RAII, un mecanism de gestionare a memoriei folosit în mod obișnuit în C++. Are două avantaje. Primul este evident: odată ce compilatorul Rust validează programul nostru, nu vom avea nicio eroare de segment sau condiții de cursă în timpul execuției, ceea ce ar necesita zeci de ore de depanare, mai ales într-o bază de cod foarte concurentă și în cea mai mare parte asincronă. Al doilea este mai subtil: compilatorul lui Rust limitează pur și simplu tipurile de eșecuri, ceea ce reduce fragmentele de cod imbricate strâns care pot provoca un astfel de comportament defectuos. Replicarea erorilor este îmbunătățită semnificativ prin utilizarea execuției deterministe. »

GNU Coreutils este un pachet din proiectul GNU care conține multe instrumente de bază necesare pentru sistemele de operare asemănătoare Unix: cp (copiați un fișier sau director), mkdir (creați un director), etc. Un dezvoltator oferă o reimplementare în limbajul Rust.

Unul dintre obiective: a face pachetul utilizabil pe alte sisteme de operare: Windows, macOS, Android, FreeBSD etc. Mișcarea vine să revigoreze dezbaterea cu privire la întrebarea dacă să continue să inițiezi noi proiecte în C și C++ sau pur și simplu să optezi pentru limbajul Rust.

„Limbajul Rust oferă garanții de securitate în mod implicit atunci când vine vorba de gestionarea memoriei. Nu este cazul C și C++, a căror utilizare în Mozilla este cauza unor probleme de securitate a memoriei”, subliniază Sylvestre Ledru.

Cu toate acestea, Bjarne Stroustrup nu este de acord că comparațiile dintre Rust și C++ limitează noțiunea de securizare a software-ului la cea de securizare a memoriei:

„Nu există o definiție unică a noțiunii de „securitate” și putem obține o varietate de tipuri de securitate printr-o combinație de stiluri de programare, biblioteci de suport și prin valorificarea analizei statice. Bjarne Stroustrup sugerează astfel că ceea ce se poate obține din C++ în materie de securitate software depinde, printre altele, de dezvoltator și, în special, de cunoașterea instrumentelor pe care le oferă limbajul, de stăpânirea acestuia asupra compilatorului etc.

Inginerii Google, conștienți de ceea ce le oferă C++ ca posibilități, s-au angajat în crearea unui verificator de împrumuturi în acest limbaj. Este o caracteristică a compilatorului Rust care asigură siguranța memoriei prin gestionarea alocării pointerului de memorie.

echipa Google, a căror publicare a apărut în trimestrul trei al anului precedent, ajuns la concluzia de că sistemul de tip C++ nu se pretează la un astfel de exercițiu. Și a că siguranța memoriei în C++ poate fi atinsă cu controale în timpul executării programului. Cu alte cuvinte, cu codul C++ lent este posibil să se obțină un nivel de securitate echivalent cu cel al Rust.

Lansarea editorului RisingWave vine pe măsură ce Rust iese în evidență față de alte limbaje care au fost prezentate de ani de zile ca alternative la C și C++. De fapt, nucleul Linux devine din ce în ce mai deschis către limbajul de programare al sistemelor Mozilla.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.