Ein Entwickler bietet eine Neuimplementierung von GNU Coreutils in Rust an 

gnu-coreutils-rust

Die Verwendung von Rust für dieses Projekt wird dazu beitragen, diesen Prozess zu beschleunigen, da viele potenzielle Fehler vollständig beseitigt werden.

Sylvestre Ledru begann mit der Arbeit an einer Neuimplementierung von GNU Coreutils in Rust während der COVID-19-Pandemie und präsentierte es letzte Woche während der Ausgabe 2023 von FOSDEM. Die uutils genannte Anstrengung wird jetzt von vielen Linux-Distributionen gepackt und wird auch von einem berühmten sozialen Netzwerk über das Yocto-Projekt verwendet.

Vergleiche von Rust- und C++-Sprachen haben einen roten Faden: die Hervorhebung der Überlegenheit von Rust gegenüber C++ in Bezug auf die Speichersicherheit. Der RisingWave-Redakteur erklärt, warum er sein natives Cloud-DBMS in Rust von Grund auf neu geschrieben hat, nachdem er das C++-Projekt verlassen hatte.

„Rust gewährleistet Speicher- und Thread-Sicherheit zur Kompilierzeit, indem es Eigentumsregeln einführt. Es geht über RAII hinaus, einen in C++ häufig verwendeten Speicherverwaltungsmechanismus. Es hat zwei Vorteile. Das erste ist offensichtlich: Sobald der Rust-Compiler unser Programm validiert hat, werden wir zur Laufzeit keine Segmentfehler oder Race-Conditions haben, was zig Stunden Debugging erfordern würde, insbesondere in einer hochgradig gleichzeitigen Codebasis und in größtenteils asynchronem Code. Der zweite ist subtiler: Der Compiler von Rust schränkt einfach die Arten von Fehlern ein, wodurch eng verschachtelte Codeschnipsel reduziert werden, die ein solches fehlerhaftes Verhalten verursachen können. Die Fehlerreplikation wird durch die Verwendung der deterministischen Ausführung erheblich verbessert. »

GNU Coreutils ist ein Paket aus dem GNU-Projekt das viele grundlegende Tools enthält, die für Unix-ähnliche Betriebssysteme benötigt werden: cp (eine Datei oder ein Verzeichnis kopieren), mkdir (ein Verzeichnis erstellen) usw. Ein Entwickler bietet eine Neuimplementierung in der Sprache Rust an.

Eines der Ziele: das Paket auf anderen Betriebssystemen nutzbar zu machen: Windows, macOS, Android, FreeBSD usw. Der Schritt soll die Debatte um die Frage wiederbeleben, ob man weiterhin neue Projekte in C und C++ starten oder sich einfach für die Sprache Rust entscheiden soll.

„Die Sprache Rust bietet standardmäßig Sicherheitsgarantien, wenn es um die Speicherverwaltung geht. Dies ist nicht der Fall bei C und C++, deren Verwendung in Mozilla die Ursache für Speichersicherheitsprobleme ist“, betont Sylvestre Ledru.

Bjarne Stroustrup widerspricht jedoch, dass Vergleiche zwischen Rust und C++ den Begriff der Sicherung von Software auf den der Sicherung des Speichers beschränken:

„Es gibt keine einheitliche Definition des Begriffs „Sicherheit“, und wir können eine Vielzahl von Arten von Sicherheit durch eine Kombination von Programmierstilen, unterstützenden Bibliotheken und durch die Nutzung statischer Analysen erreichen. Bjarne Stroustrup schlägt daher vor, dass das, was C++ in Bezug auf Softwaresicherheit erhalten kann, unter anderem vom Entwickler abhängt und insbesondere von der Kenntnis der Werkzeuge, die die Sprache bietet, seiner Beherrschung des Compilers usw.

Die Google-Ingenieure, die sich der Möglichkeiten von C++ bewusst sind, haben mit der Erstellung eines Kreditprüfers in dieser Sprache begonnen. Es ist eine Funktion des Rust-Compilers, die die Speichersicherheit durch die Verwaltung der Speicherzeigerzuordnung gewährleistet.

Google-Team, deren Veröffentlichung im dritten Quartal des Vorjahres erschienen ist, kam zum Abschluss dass sich das C++-ähnliche System für eine solche Übung nicht eignet. Und zu dass Speichersicherheit in C++ erreicht werden kann mit Bedienelementen während der Programmausführung. Mit anderen Worten, Mit langsamem C++-Code ist es möglich, ein Sicherheitsniveau zu erreichen, das dem von Rust entspricht.

Die Veröffentlichung des RisingWave-Editors kommt, da sich Rust von anderen Sprachen abhebt, die seit Jahren als Alternativen zu C und C++ präsentiert werden. Tatsächlich wird der Linux-Kernel immer offener für Mozillas Systemprogrammiersprache.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.