Wir starten diese Mini-Serie mit der Programmiersprache Rust. Angekündigt wurde Rust das erste Mal 2010, seit 2015 gibt es eine stabile Version. Die Sprache ist entsprechend relativ jung. Entwickelt wurde die Sprache ursprünglich von Graydon Hoare bei der Mozilla Fondation. Rust ist unter der Apache-Lizenz verfügbar und wird heute von der Rust-Stiftung (weiter-) entwickelt. Die Rust-Stiftung wurde von namhaften Firmen gegründet und getragen: AWS, Google, Huawei, Microsoft und Mozilla. Rust ist eine Low-Level oder Systemprogrammiersprache.
Die grossen Tech-Firmen Microsoft und Google führen bis zu 70 % aller schwerwiegenden Sicherheitslücken in ihren jeweiligen Windows- und Chrome-Projekten auf Speicherprobleme zurück (www.zdnet.com).
„Unternehmen von Microsoft bis Amazon betrachten die Sprache (Rust) als Schlüssel für ihre Zukunft. Die Chat-Plattform Discord nutzt Rust, um ihr System zu beschleunigen, Dropbox verwendet es, um Dateien mit Ihrem Computer zu synchronisieren, und Cloudflare verarbeitet damit mehr als 20 % des gesamten Internetverkehrs… Sogar die US-Regierung wirbt eifrig für Software in Rust, um ihre Prozesse sicherer zu machen.“ – Clive Thompson, MIT Technology Review (www.linkedin.com).
Eine AWS-Forschungsgruppe fand angeblich heraus, dass in Rust geschriebener Code zweimal weniger Strom verbraucht als in Java geschriebener Code. Zum Stromverbrauch verschiedener Sprachen zu unterschiedlichen Problemen gibt es diverse Tests und Berichte.
Für was soll die Sprache verwendet werden?
Hardwarenahe Entwicklung, Betriebssystem-Komponenten, Treiber, IoT oder auch im Blockchain-Umfeld etc.
Was macht die Sprache so stark?
Die Stärken von Rust liegen in der strikten statischen Typisierung und dem Borrowing-System, das Sicherheit und Kontrolle über Speicherressourcen bietet, ohne auf Garbage Collection zurückzugreifen. Es kompiliert zu binärem Code, was sich positiv auf die Performance auswirkt. Seine Nebenläufigkeit unterstützt zudem gleichzeitige Zugriffe. Dadurch, dass Speicherfehler mit einer sehr hohen Wahrscheinlichkeit vermieden werden (100 % gibt es nicht), gilt Rust als sehr robuste und sichere Systemprogrammiersprache.
Beispiele:
Die Syntax ist in einfachen Beispielen wie dem folgenden relativ intuitiv. Die Realität ist aber nicht so einfach und das Programmieren mit Rust mit zunehmender Komplexität nicht ganz trivial. Die Lernkurve ist bei vielen am Anfang ordentlich steil, flacht dann aber bald ab. Rust-Experte wird man nicht in ein paar Tagen. Es erfordert Ausdauer und Übung. Das richtige Erlenen von Rust ist daher sicher ein mittelfristiges Projekt.
Hier ein einfaches Beispielprogramm, welches Wörter in einem String sortiert. Aber Vorsicht: Versuchen Sie es damit nicht mit Wörtern in korrekten Grossbuchstaben ("Meine Worte sind sortiert"). Vielleicht würden Sie vom Ergebnis überrascht werden:
Warum hat die Sprache Zukunft und warum soll ich sie lernen?
Tech-Giganten und Firmen im Hardware-Bereich setzen auf Rust. So sind bspw. Teile vom Google-Betriebssystem Fuchsia in Rust geschrieben (fuchsia.googlesource.com). Auch Microsoft hat begonnen, Teile vom Windows-Betriebssystem in Rust umzuschreiben (www.theregister.com). Und seit der Version 6.1 ist Rust auch im Linux-Kernel angekommen (www.zdnet.com). Kurz: Die Sprache ist gekommen um zu bleiben.
Wer künftig im Hardware nahen Bereich Programmieren will, kommt um Rust wohl nicht (ganz) herum. Wenn auch nicht alle Rust lieben.
Buchempfehlung: Link
Sie wollen schnell mit Rust spielen? Hier finden Sie einen Playground.
#rust #programming
Keine Kommentare:
Kommentar veröffentlichen