Un desenvolupador ofereix una reimplementació de GNU Coreutils a Rust 

gnu-coreutils-rust

L'ús de Rust per a aquest projecte ajudarà a accelerar aquest procés, ja que s'elimina completament una gran quantitat de possibles errors

Sylvestre Ledru va començar a treballar una reimplementació de GNU Coreutils a Rust durant la pandèmia de COVID-19 i la va presentar la setmana passada durant l'edició 2023 del FOSDEM. L'esforç anomenat uutils ara està empaquetat per moltes distribucions de Linux i també ho fa servir una famosa xarxa social a través del projecte Yocto.

Les comparacions dels llenguatges Rust i C++ tenen un denominador comú: ressaltar la superioritat de Rust sobre C++ en termes de seguretat de la memòria. L'editor RisingWave explica per què va reescriure el Cloud DBMS nadiu des de zero a Rust després d'abandonar el projecte C++.

“Rust garanteix la seguretat de la memòria i els subprocessos en temps de compilació mitjançant la introducció de regles de propietat. Va més enllà de RAII, un mecanisme d'administració de memòria utilitzat comunament en C++. Té dos avantatges. La primera és òbvia: un cop el compilador de Rust validi el nostre programa, no tindrem cap error de segment ni condicions de carrera en el temps d'execució, cosa que requeriria desenes d'hores de depuració, especialment en un codi base altament concurrent i en la majoria asíncron. El segon és més subtil: el compilador de Rust simplement restringeix els tipus de falles, cosa que redueix els fragments de codi estretament imbricats que poden causar aquest comportament defectuós. La replicació derrors es millora significativament amb el utilitzant lexecució determinista. »

GNU Coreutils és un paquet del projecte GNU que conté moltes eines bàsiques necessàries per als sistemes operatius tipus Unix: cp (copiar un fitxer o directori), mkdir (crear un directori), etc. Un desenvolupador ofereix una reimplementació al llenguatge Rust.

Un dels objectius: fer que el paquet sigui utilitzable en altres sistemes operatius: Windows, macOS, Android, FreeBSD, etc. La maniobra ve a revifar el debat sobre la qüestió de si continuar iniciant nous projectes a C i C++ o simplement optar pel llenguatge Rust.

“El llenguatge Rust ofereix garanties de seguretat per defecte quan es tracta de gestió de memòria. Aquest no és el cas de C i C++, l'ús de les quals a Mozilla és la causa dels problemes de seguretat de la memòria”, emfatitza Sylvestre Ledru.

Tot i això, Bjarne Stroustrup no està d'acord amb el fet que les comparacions entre Rust i C++ limitin la noció d'assegurar el programari a assegurar la memòria:

«No hi ha una sola definició de la noció de 'seguretat' i podem aconseguir una varietat de tipus de seguretat mitjançant una combinació d'estils de programació, biblioteques de suport i mitjançant l'aprofitament de l'anàlisi estàtica. Bjarne Stroustrup suggereix així que allò que es pot obtenir de C++ en termes de seguretat del programari depèn, entre altres coses, del desenvolupador i, en particular, del coneixement de les eines que ofereix el llenguatge, el seu domini del compilador, etc.

Els enginyers de Google, conscients del que els ofereix C++ com a possibilitats, s'han embarcat en la creació d'un verificador de préstecs en aquest llenguatge. És una característica del compilador Rust que garanteix la seguretat de la memòria mitjançant la gestió d'assignació de punters en memòria.

L'equip de Google, la publicació del qual va aparèixer el tercer trimestre de l'any anterior, va arribar a la conclusió de que el sistema tipus C++ no es presta a aquest exercici. I per que la seguretat de la memòria a C++ es pugui aconseguir amb controls durant lexecució del programa. En altres paraules, és amb codi C++ lent que és possible assolir un nivell de seguretat equivalent al de Rust.

El llançament de l'editor RisingWave arriba en un context en què Rust es destaca d'altres llenguatges presentats durant anys com a alternatives a C i C++. De fet, el nucli de Linux s'està obrint cada cop més al llenguatge de programació de sistemes de Mozilla.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.