• IT-Karriere:
  • Services:

Die dunkle Seite von Rust

Zusätzlich zum eigentlichen Rust, "Safe Rust", existiert auch noch eine "Unsafe Rust"-Umgebung, eingeleitet durch das Schlüsselwort "unsafe". In dieser Umgebung sind einige Regeln aufgehoben und es können potenziell unsichere Speicherzugriffe durchgeführt werden.

Stellenmarkt
  1. Albert Handtmann Maschinenfabrik GmbH & Co. KG, Biberach an der Riß
  2. Würth Industrie Service GmbH & Co. KG, Bad Mergentheim, Großraum Würzburg

Die wichtigste Möglichkeit, die sich dadurch ergibt, ist, andere unsichere Funktionen aufzurufen. Funktionen aus C-Bibliotheken sind in Rust per Definition immer "unsafe", weil deren Speicherverwaltung nicht vom Rust-Compiler kontrolliert werden kann. Außerdem ist es nur in der Unsafe-Umgebung möglich, Raw-Pointer, also echte Zeiger wie in C, zu dereferenzieren. Erst diese Fähigkeit ermöglicht es in Rust, etwa Gerätetreiber und Kernel zu schreiben, da von der Hardware oft Raw-Pointer als Zeiger auf Daten geliefert werden. Auch hier besteht wieder das Risiko von Zugriffen auf undefinierte Speicherbereiche etwa durch fehlerhafte oder falsch konfigurierte Hardware und Programmierfehler.

Für die meisten Anwendungen sollten allerdings die Möglichkeiten von Rust ohne Risiken von "unsafe" ausreichen. Für alle anderen Fälle gilt es, die Dokumentation für unsafe sehr genau zu studieren. Ebenfalls lesenswert ist das Rustonomicon, das sich hauptsächlich mit den fortgeschrittenen Möglichkeiten von Rust beschäftigt.

Dinge, die das Programmieren einfacher machen

Rust bringt mit "rustdoc" eine praktische Möglichkeit, den geschriebenen Code direkt zur Dokumentation zu verwenden. Dieses Feature wird allerdings von anderen Programmiersprachen wie Java und C# ebenfalls geboten.

Ein weiteres wichtiges Kriterium, um eine Programmiersprache in einem Projekt einzusetzen, ist die Verfügbarkeit von Bibliotheken. In diesem Punkt muss Rust derzeit noch passen. Sie bietet zwar eine umfangreiche Standardbibliothek und kann auf C-Bibliotheken zurückgreifen, richtige Rust-Bibliotheken mit ihren Vorteilen findet man derzeit aber noch selten. Abhilfe schaffen in diesem Fall Sprachanbindungen wie etwa für Python, womit sich Funktionen aus anderen Sprachen verwenden lassen.

Da Rust als Programmiersprache auf Systemebene entwickelt wurde, ist die Sprache sehr auf Portabilität ausgerichtet. Beispielsweise gibt es Anstrengungen, um Rust auf dem AVR-Mikrocontroller des Arduino lauffähig zu machen. Dabei kann dann allerdings nicht auf die Rust-Standardbibliothek zurückgegriffen werden, da ein Großteil dieser ein Betriebssystem voraussetzt.

Rust ist definitiv eine Alternative zu C/C++. Es wurde von Anfang an mit dem Ziel entwickelt, die typischen Fehler in der Speicherverwaltung von C/C++ zu vermeiden und ist dabei ebenfalls sehr portabel. Wie bei jeder jungen Programmiersprache muss sich jedoch erst ein größeres Ökosystem aus Bibliotheken und Tools aufbauen, damit die Sprache langfristig bestehen kann. Die bisherige Entwicklung hin zu mehr Fehlervermeidung schon in der Programmiersprache kann allerdings nur befürwortet werden und hat durch Rust definitiv einen Entwicklungsschub bekommen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Syntax und Programmierstil
  1.  
  2. 1
  3. 2
  4. 3


Anzeige
Top-Angebote
  1. 205,00€ (statt 299,00€ bei beyerdynamic.de)
  2. (aktuell u. a. Sandisk Extreme 64GB für 11€ Euro, Sandisk SSD Plus 1TB für 99€, WD Elements...
  3. 209,49€ (Bestpreis!)
  4. (u. a. Assassin's Creed: Odyssey für 22,99€, Borderlands 3 für 25,99€, Battalion 1944 8...

sambache 21. Dez 2016

Au, das tut wirklich weh :-(

olleIcke 05. Jul 2016

Versteh ich auch nicht. Ich sehe durchaus, dass das Interesse riesig is! Nörgler mit so...

Bachsau 23. Jun 2016

Ein weiteres mal, dass deutlich darauf hingewiesen werden muss, dass JavaScript und Java...

zZz 23. Jun 2016

Ich erinnere mich an einen Artikel (Wired?), in dem die Dropbox-Macher ihre Entscheidung...

Baron Münchhausen. 21. Jun 2016

Genau! Ich will, dass mein Programm einfach das Wasser auf den Herd stellt, wenn ich es...


Folgen Sie uns
       


Elektrifizierte Tiefgarage von Netze BW angesehen

Wir haben uns ein Testprojekt für eine elektrifizierte Tiefgarage im baden-württembergischen Tamm zeigen lassen.

Elektrifizierte Tiefgarage von Netze BW angesehen Video aufrufen
Generationenübergreifend arbeiten: Bloß nicht streiten
Generationenübergreifend arbeiten
Bloß nicht streiten

Passen Generation Silberlocke und Generation Social Media in ein IT-Team? Ganz klar: ja! Wenn sie ihr Wissen teilen, kommt am Ende sogar Besseres heraus. Entscheidend ist die gleiche Wertschätzung beider Altersgruppen und keine Konflikte in den altersgemischten Teams.
Von Peter Ilg

  1. Frauen in der Technik Von wegen keine Vorbilder!
  2. Arbeit Warum anderswo mehr Frauen IT-Berufe ergreifen
  3. Arbeit Was IT-Recruiting von der Bundesliga lernen kann

Login-Dienste: Wer von der Klarnamenpflicht profitieren könnte
Login-Dienste
Wer von der Klarnamenpflicht profitieren könnte

Immer wieder bringen Politiker einen Klarnamenzwang oder eine Identifizierungspflicht für Nutzer im Internet ins Spiel. Doch welche Anbieter könnten von dieser Pflicht am ehesten einen Vorteil erzielen?
Eine Analyse von Friedhelm Greis

  1. Europäische Netzpolitik Die Rückkehr des Axel Voss
  2. Mitgliederentscheid Netzpolitikerin Esken wird SPD-Chefin
  3. Nach schwerer Krankheit FDP-Netzpolitiker Jimmy Schulz gestorben

In eigener Sache: Die offiziellen Golem-PCs sind da
In eigener Sache
Die offiziellen Golem-PCs sind da

Leise, schnell, aufrüstbar: Golem.de bietet erstmals eigene PCs für Kreative und Spieler an. Alle Systeme werden von der Redaktion konfiguriert und getestet, der Bau und Vertrieb erfolgen über den Partner Alternate.

  1. In eigener Sache Was 2019 bei Golem.de los war
  2. In eigener Sache Golem.de sucht Produktmanager/Affiliate (m/w/d)
  3. In eigener Sache Aktiv werden für Golem.de

    •  /