EINBLICKE

Rust – ein kurzer Überblick über die moderne Programmiersprache, die Programmierer lieben

Erfahren Sie, um welche Art von Programmiersprache es sich bei Rust handelt, wofür sie eingesetzt wird, welche Alternativen es gibt und welche wirtschaftlichen Aspekte bei der Entscheidung für die Entwicklung mit Rust zu berücksichtigen sind, wie der Markt für Rust-Fachwissen aussieht und wie Sie Rust am besten erlernen können.

Rust wurde 2010 als Open-Source-Sprache auf Systemebene veröffentlicht, die vom damaligen Mozilla-Entwickler Graydon Hoare entworfen wurde. Ursprünglich handelte es sich um ein Nebenprojekt; Hoares Motivation war es, eine neue Sprache zu entwickeln, die eine Lösung für die Probleme bei der Speicherverwaltung und -zuweisung in C und C++ bieten sollte.

Das tat er, und so entstand Rust. Hoares erste Arbeiten führten dazu, dass die neue Sprache 2009 von Mozilla gefördert wurde, ein Jahr später als Open-Source-Projekt veröffentlicht und 2015 – als Rust 1.0 erschien – als „stabil und ausgereift“ eingestuft wurde.

Seitdem erfreut es sich großer Beliebtheit bei Entwicklern (Stand 2023 nutzen über 12 % diese Sprache), technischen Entscheidungsträgern und Unternehmen wie Microsoft, Alphabet und Dropbox.

Rust wird am häufigsten für die Programmierung von:

  • Leistungskritische Backend-Systeme
  • Die Entwicklung von Betriebssystemen, betriebssystemnahen Programmteilen und anderen Low-Level-Komponenten (z. B. Android und Google Chrome)
  • Serverseitige Webentwicklung
  • Blockchain-Infrastruktur und Programmierung von Smart Contracts
  • CLI-Tools
  • Entwicklung von eingebetteten Systemen und IoT-Anwendungen

 

Infografik zu den gängigen Anwendungsbereichen der Programmiersprache Rust

 

Bei K&C haben bereits einige Teams an einer Handvoll Projekten gearbeitet, bei denen Rust Teil des Tech-Stacks war oder als zentrale Programmiersprache zum Einsatz kam. In den letzten ein bis zwei Jahren haben wir jedoch einen deutlichen Anstieg der Nachfrage nach dieser Sprache beobachtet – insbesondere im Bereich der Blockchain- und dApp-Entwicklung.

Die Entwickler selbst lieben Rust und haben die Sprache acht Jahre in Folge zur „angesehensten“ Programmiersprache im allgemeinen Gebrauch gewählt.

Und die Entwicklung der Softwareentwicklungsbranche treibt die Nachfrage nach Entwicklern mit Erfahrung in dieser Programmiersprache weiter an.

Der Aufstieg von IoT-Geräten, deren Entwicklung in weitaus größerem Umfang mit Programmierung auf niedrigerer Ebene verbunden ist, sowie deren Einsatz in anderen Bereichen wie der Blockchain-Technologie sorgen für eine steigende Nachfrage nach Rust-Entwicklern. Dies liegt auch an der höheren Stabilität und Sicherheit dieser Sprache im Vergleich zu älteren Systemprogrammiersprachen wie C und C++.

Dieser Blogbeitrag bietet Ihnen einen kurzen Überblick über die Programmiersprache Rust. Ich werde folgende Themen behandeln:

  • Was für eine Programmiersprache ist Rust?
  • Wofür wird es verwendet?
  • Technische und geschäftliche Überlegungen bei der Auswahl von Rust für Ihren Tech-Stack
  • Der Markt für Rust-Entwickler
  • Rust lernen
  • Die Zukunft von Rust – zu erwartende Trends

 

Was für eine Programmiersprache ist Rust?

Rust ist eine „Low-Level“- oder Systemprogrammiersprache. Das bedeutet, dass sie eng mit der Hardware zusammenarbeiten und direkt mit ihr interagieren kann, ohne dass eine Abstraktionsschicht wie ein Betriebssystem oder ein Webbrowser erforderlich ist – im Gegensatz zu Webentwicklungssprachen wie JavaScript.

Systemprogrammiersprachen wie Rust – weitere Beispiele sind C, C++, Go und Assembler – werden in der Regel zur Programmierung von Systemkomponenten auf niedrigerer Ebene verwendet, wie beispielsweise Betriebssysteme und Browser, auf denen höhere Programmiersprachen wie JavaScript laufen, Gerätetreiber, Systemdienstprogramme, Spiel- und VR-Simulations-Engines sowie IoT-Geräte.

Systemsprachen bieten Zugriff auf einer Ebene, die nahe an der Hardware liegt, und ermöglichen es Entwicklern so, Hardware-Ressourcen zu steuern, um leistungskritische Aufgaben präziser auszuführen.

 

Infografik, die verschiedene Programmiersprachen nach ihrer Ebene von niedrig bis sehr hoch einstuft

 

Sie gilt als die modernste Low-Level-Sprache, die derzeit im kommerziellen Mainstream-Einsatz ist (Rust entstand im Internetzeitalter); die erste stabile Version der Sprache wurde 2015 veröffentlicht – die Sprache wurde als Lösung für die Einschränkungen älterer Alternativen wie C und C++ entwickelt.

Je komplexer die mit Hardware integrierten Softwaresysteme wurden, desto deutlicher traten die Grenzen bestehender Low-Level-Sprachen zutage – insbesondere im Hinblick auf die Speicherverwaltung.

Der „Eureka-Moment“ für Rust kam, als der Schöpfer der Sprache, Hoare, nach einem Arbeitstag in den Büros des Open-Source-Software-Giganten Mozilla in seine Wohnung in Vancouver zurückkehrte. Der damals 29-Jährige war frustriert, als er feststellte, dass der Aufzug des Gebäudes wieder einmal außer Betrieb war, weil die Software – schon wieder – abgestürzt war .

Als Softwareentwickler konnte er mit großer Sicherheit vermuten, dass die Häufigkeit der Abstürze des Softwaresystems des Aufzugs auf Speicherfehler zurückzuführen war, die häufig durch die zur Programmierung auf Systemebene verwendeten Sprachen – in der Regel C oder C++ – verursacht wurden.

Er startete ein Nebenprojekt, um eine neue Sprache zu entwickeln, die alle Vorteile der Kompaktheit und Geschwindigkeit alternder Systemsprachen vereinen sollte – ohne die Speicherfehler.

Lesen Sie unseren ausführlichen Vergleichsleitfaden, um mehr über die Unterschiede zwischen Rust und anderen Programmiersprachen wie C, C++ oder Go zu erfahren.

 

Warum ist der Ansatz von Rust, Speicherzuweisungen zur Kompilierungszeit vorzunehmen, für die Sicherheit wichtig?

Die Technologiegiganten Microsoft und Google führen jeweils bis zu 70 % aller schwerwiegenden Sicherheitslücken in ihren jeweiligen Windows- und Chrome-Projekten auf Speicherprobleme zurück.

Rust löst dieses Problem, indem es speichersicheren Code bereitstellt, ohne dass dabei Leistungseinbußen durch eine Garbage Collection zur Laufzeit entstehen oder die Verantwortung für das Löschen überflüssiger Objekte, die Speicherplatz belegen, auf den Entwickler abgewälzt wird. Letzteres birgt das Risiko menschlicher Fehler und führt zu Fehlern, die Softwareabstürze und Sicherheitslücken zur Folge haben können.

 

„In C oder C++ hat man immer diese Angst, dass der Code einfach so aus heiterem Himmel abstürzt“Mara Bos, Mitbegründerin von Fusion Engineering und Leiterin des Rust-Bibliotheksteams.

 

Neuere Sprachen wie Java, JavaScript und Python umgehen dieses Problem, indem sie sogenannte „Garbage Collectors“ einsetzen, um die regelmäßige Bereinigung der Speicherzuweisungen während der Ausführung der Software zu automatisieren. Damit wird das Problem der Speicherzuweisung zwar gelöst, jedoch auf Kosten der präzisen Kontrolle und der Leistung, da die Garbage Collection eine gewisse Rechenzeit in Anspruch nimmt.

Rust war Hoares Versuch, das Beste aus beiden Welten in einer neuen Programmiersprache zu vereinen. Die Sprache automatisiert die Speicherzuweisung und beseitigt so das Risiko von Speicherfehlern, bietet aber dennoch ein hohes Maß an Kontrolle wie C und C++ – gepaart mit der Kompaktheit und Geschwindigkeit traditioneller Systemsprachen.

Die Existenz einer Garbage-Collection-Komponente beeinträchtigte jedoch zunächst die Geschwindigkeit von Rust. Bis 2013 gelang es dem Mozilla-Team, das mit der Beschleunigung der Entwicklung des neu als Open Source veröffentlichten Rust-Projekts beauftragt war, diese Komponente jedoch zu entfernen.

 

Rust als „stark typisierte“ Sprache

Ein wesentlicher Grund dafür, dass der Kern von Rust so entwickelt werden konnte, dass keine Garbage Collection mehr erforderlich ist, liegt darin, dass es sich zu einer sehr stark typisierten Sprache entwickelt hat.

Stark typisierte Sprachen legen Einschränkungen hinsichtlich der Vermischung verschiedener Datentypen und Werte fest. Dies zwingt Entwickler dazu, strenge Regeln für das Schreiben von Code in Rust zu erlernen und einzuhalten – eliminiert aber gleichzeitig den Großteil des Fehlerspielraums.

Die Open-Source-Community von Rust und das Mozilla-Team, das an der Sprache arbeitet, haben ein„Ownership“-System für die Speicherverwaltung der Sprache eingeführt. Das bedeutet, dass auf jedes einzelne Datenelement nur von einer einzigen Variablen verwiesen werden kann – wodurch verhindert wird, dass verschiedene parallel laufende Codethreads versuchen, fast gleichzeitig dasselbe Speicherelement zu ändern.

Diese Eigentumsregeln werden durch einen Compiler durchgesetzt, der die Kompilierung von Code zu einem ausführbaren Programm verweigert, wenn die Regeln zur Datentypisierung nicht eingehalten werden.

 

„Rust zwingt Entwickler zur Disziplin“ – Tim Reznichenko, Team- und Technikleiter, Senior Full-Stack-TypeScript-Entwickler und Web3-Entwickler bei K&C.

Diese strengen Regeln zur Datentypisierung sorgen dafür, dass Softwareentwickler, die mit Rust arbeiten, keine Fehler machen können, die zu Speicherfehlern führen würden. Sollten solche Fehler vorhanden sein, lässt sich der Code schlichtweg nicht kompilieren. Das bedeutete, dass die Garbage-Collection-Komponente entfallen konnte, wobei lediglich Spuren wie die Referenzzählung– wodurch Rust noch schneller läuft.

Rust war nun in der Lage, ebenso nah an die Hardware heranzukommen wie C und C++ – und bot dabei die gleiche Leistung, jedoch ohne Speicherfehler.

Das Ergebnis ist die rasant steigende Beliebtheit der Sprache bei Softwareentwicklern und Projektverantwortlichen.

 

Wofür wird Rust verwendet?

„Unternehmen von Microsoft bis Amazon betrachten Rust als Schlüssel zu ihrer Zukunft. Die Chat-Plattform Discord nutzte Rust, um ihr System zu beschleunigen, Dropbox setzt es ein, um Dateien mit Ihrem Computer zu synchronisieren, und Cloudflare nutzt es, um mehr als 20 % des gesamten Internetverkehrs zu verarbeiten … Selbst die US-Regierung fördert Software in Rust mit Nachdruck, um ihre Prozesse sicherer zu gestalten.“Clive Thompson, MIT Technology Review.

Mit Low-Level-Sprachen wie Rust wird der Code für Maschinen geschrieben, die ohne Betriebssystem wie Windows oder Linux auskommen. Dazu gehört alles von Dialysegeräten über Registrierkassen bis hin zu … Aufzügen.

Systemsprachen werden auch für Software verwendet, die mit der Hardware kommunizieren muss, wie beispielsweise Betriebssysteme. Die Kernel von Windows, Linux und macOS wurden in der Vergangenheit alle in C geschrieben – allerdings ist die Umstellung auf Rust mittlerweile ein wichtiger Trend bei den größten Technologieunternehmen.

Es überrascht nicht, dass Mozilla das erste große Softwareunternehmen war, das die neue Low-Level-Sprache, die von einem seiner Ingenieure konzipiert und von einem Mozilla-Team weiterentwickelt worden war, in großem Umfang einsetzte. Hoare selbst zog sich aus dem Projekt zurück, das er 2013 ins Leben gerufen hatte, in der Zuversicht, dass das Mozilla-Team und die schnell wachsende Open-Source-Community, die sich um Rust gebildet hatte, es weiter vorantreiben würden.

Mozilla erkannte das Potenzial von Rust, die Browser-Engine des Open-Source-Unternehmens zu verbessern. Browser sind bekanntlich komplexe Softwaresysteme, die zahlreiche Möglichkeiten für das Auftreten von Speicherfehlern bieten.

Im Jahr 2016 veröffentlichte Mozilla Servo, eine neue, in Rust programmierte Browser-Engine. Im Jahr 2017 wurde der Teil von Firefox, der CSS rendert, auf Rust umgestellt, was dem Browser einen erheblichen Leistungsschub verschaffte.

 

  • Meta hat Rust genutzt, um die Software neu zu gestalten, mit der seine Ingenieure ihren internen Quellcode verwalten.
  • Dropbox hat mit Rust eine neue Version der Software entwickelt, die Dateien zwischen den Geräten der Nutzer und dem Cloud-Speicher des Unternehmens synchronisiert.
  • Die Entwickler von Discord haben große Teile des App-Codes in Rust neu geschrieben, sind dabei von Go (das eine Garbage-Collection-Komponente verwendet) umgestiegen und haben dadurch eine zehnfache Geschwindigkeitssteigerung erzielt.
  • AWS hat 2022 ein Rust-Team ins Leben gerufen, um sichereren und schnelleren Code für seine Cloud-Computing-Plattform und seine Tools zu entwickeln. Eine AWS-Forschungsgruppe stellte fest, dass in Rust geschriebener Code nur halb so viel Strom verbraucht wie in Java geschriebener Code. Dadurch könnte die Kapazität von Rechenzentren verdoppelt werden oder es wäre möglich, sie in städtischen Gebieten zu errichten.

 

Rust wird nicht nur von Technologiegiganten genutzt. Es entwickelt sich zu einem wichtigen Bestandteil des Tech-Stacks für IoT-Geräte, darunter moderne Fahrzeuge und Anwendungen in der Luft- und Raumfahrt.

In unserem Blogbeitrag zu Anwendungsfällen von Rust erfahren Sie mehr über die vielfältigen Einsatzmöglichkeiten der Programmiersprache in Bereichen wie Webentwicklung, Spieleentwicklung, Netzwerktechnik usw. sowie darüber, welche großen Unternehmen sie nutzen.

 

Rust für die Blockchain-Entwicklung

Die Sprache ist auch in der Blockchain-Entwicklung beliebt und wird zur Programmierung von Smart Contracts und Blockchains selbst verwendet, darunter Solana, Polkadot und Hyperledger Fabric – eine private Unternehmens-Blockchain, die von einem Konsortium unter der Leitung der Linux Foundation entwickelt wurde. Insgesamt basieren über 50 Blockchains und Blockchain-Frameworks auf Rust oder unterstützen diese Sprache.

 

Rust ist bei Entwicklern beliebt

Rust gehört zwar nicht zu den am häufigsten verwendeten Programmiersprachen – etwas mehr als 12 % der Entwickler arbeiten damit –, ist aber die „am meisten bewunderte“ aller Sprachen, die in der Stack Overflow Developer Survey 2023 erfasst wurden – ein Titel, den sie nun bereits seit acht Jahren innehat.

Die Kategorie basiert auf dem prozentualen Anteil der Entwickler, die eine bestimmte Sprache verwenden und auch weiterhin damit programmieren möchten. 80 % der Entwickler, die Rust verwenden, möchten dies auch weiterhin tun.

Auch seine Beliebtheit nimmt rasant zu. Dem Bericht „State of the Developer Nation“ von SlashData zufolge gab es im Jahr 2023 rund 2,8 Millionen Rust-Entwickler. Diese Zahl hat sich in den letzten zwei Jahren fast verdreifacht.

 

12 % der Softwareentwickler nutzen Rust aktiv

 

Diagramm, das die Programmiersprachen nach Beliebtheit geordnet darstellt, basierend auf dem prozentualen Anteil der Softwareentwickler, die sie verwenden

 

Laut dem GitHub-Bericht „Top Programming Languages 2022“ war Rust im vergangenen Jahr die Programmiersprache mit dem stärksten Nutzungswachstum – ein Plus von 50,5 %. Dies deckt sich mit unseren Erfahrungen, wonach die Nachfrage nach Rust-Entwicklungs- und Personalvermittlungsdienstleistungen zunimmt.

GitHub stuft Rust zudem als die am zweitschnellsten wachsende Programmiersprache zwischen 2021 und 2022 ein, wobei die Nutzung um 50,5 % gestiegen ist.

 

Tabelle mit den Programmiersprachen, sortiert nach prozentualem Nutzungswachstum zwischen 2021 und 2022

Quelle: GitHub

 

Nicht jeder liebt Rust

Auch wenn dieser Artikel ein wenig zu einer Art „Rust-Lobeshymne“ geworden ist und unsere Rust-Entwickler bei K&C die Sprache sehr gerne nutzen, ist es wichtig, ein wenig Ausgewogenheit zu schaffen – nicht jeder liebt Rust.

Die strengen Regeln dieser Sprache können selbst für erfahrene Entwickler schwer zu erlernen und zu verinnerlichen sein, was zu Frustration führen kann. Die Lernkurve ist nicht gerade sanft.

Ein erfahrener Entwickler hat auf Reddit seine Frustrationen über Rust wie folgt zum Ausdruck gebracht:

„Ich programmiere schon seit weit über dreißig Jahren. Ich bin ziemlich gut darin (meistens jedenfalls). Viele Kollegen und Vorgesetzte haben mir gesagt, dass ich superschnell bin. Na ja, in Rust jedenfalls nicht!“

„Und jetzt sitze ich hier und bin gezwungen, Rust für ein Projekt bei der Arbeit zu verwenden. Das ist mehr als qualvoll.“

„Alles in allem ist Rust ein Albtraum. Es ist übermäßig ausführlich, verworren, schwer lesbar, langsam beim Kompilieren, und die Lebensdauern sind wirklich ein grausamer Witz. Wenn ich bei Google nach dem suche, was ich brauche, finde ich selten gute Antworten.“

 

„Ich bin fest davon überzeugt, dass alle, die behaupten, Rust sei großartig, entweder sich selbst oder andere belügen – oder dass es für sie einfach nur ein Hobby ist. Es sollte nicht so schwer sein, eine Programmiersprache zu lernen. Rust kommt mir wie ein RIESIGER Rückschritt gegenüber Java vor.“

Ich habe die Details zu den technischen Problemen, mit denen der Beitragende zu kämpfen hatte, ausgelassen – weitere Informationen finden Sie unter dem Link zum oben genannten Thread. Es gibt auch eine beeindruckende Initiative der Community, dem Beitragenden dabei zu helfen, seine Probleme in den Griff zu bekommen – trotz seiner recht aggressiv-kritischen Wortwahl.

Die aufgetretenen Probleme scheinen darauf zurückzuführen zu sein, wie stark Rust im Vergleich zu anderen Sprachen, mit denen der Entwickler gearbeitet hat – C und Java –, auf bestimmte Konventionen festgelegt ist.

Eine Antwort bringt es auf den Punkt:

„Du versuchst, Code auf eine Weise zu schreiben, die sich grundlegend von der unterscheidet, die Rust von dir erwartet – das ist der Kern der Sache. Fang klein an, lerne, was Rust von dir erwartet …“

Entwickler, die nicht bereit sind, die Notwendigkeit anzuerkennen, ihre an andere Sprachen gewohnte Programmierweise anzupassen, könnten sich gegen die strengen Regeln von Rust wehren.

Dieses satirische Video„10 Gründe, Rust nicht zu verwenden“ vom YouTube-Kanal „fasterthanlime“ ist unterhaltsam, wenn auch ein wenig voreingenommen:

 

Entwicklungskosten für Rust und Gehälter von Rust-Entwicklern

Rust-Entwickler verdienen zwar nicht die höchsten Gehälter der Branche, liegen aber mit einem durchschnittlichen Jahresgehalt von 87.102 US-Dollar im oberen Bereich der Gehaltsskala. In den USA steigt dieser Wert auf 105.000 US-Dollar, in IT-Outsourcing-Märkten wie der Ukraine liegt er hingegen eher bei 55.000 US-Dollar.

 

Diagramm mit einer Rangliste der Programmiersprachen, darunter Rust, nach dem durchschnittlichen Entwicklergehalt

 

Im Vergleich dazu liegt das durchschnittliche Jahresgehalt eines JavaScript-Entwicklers bei 74.034 US-Dollar, während Java-Entwickler 72.701 US-Dollar verdienen.

Die relativ hohen Gehälter von Rust-Entwicklern spiegeln sowohl die derzeitige Nachfrage nach dieser Programmiersprache wider als auch die Tatsache, dass ihr stark typisiertes Wesen aufgrund strenger Regeln das Erlernen dieser Sprache zu einer Herausforderung macht.

Die Gehälter von Rust-Entwicklern sind im vergangenen Jahr stabil geblieben, wobei der Durchschnittswert im Jahr 2023 fast genau dem von 2022 entsprach.

 

Diagramm zur Entwicklung des durchschnittlichen Median-Jahresgehalts von Rust-Entwicklern zwischen 2022 und 2023

Quelle: StackOverflow-Entwicklerumfrage 2023

 

Eine umfassende Aufschlüsselung und Analyse der Gehälter und Tarife von Rust-Entwicklern in verschiedenen internationalen Regionen – von Hochlohnländern bis hin zu Nearshore- und Offshore-Märkten für IT-Outsourcing-Fachkräfte – Internationale Gehalts- und Tarifspannen für Rust-Entwickler

Höhere Kosten für Fachkräfte mit Rust-Kenntnissen – beispielsweise im Vergleich zu Java und Python – mögen auf den ersten Blick eine höhere monatliche Belastung für die Personalkosten oder das IT-Outsourcing bedeuten. Ob die Entwicklung in Rust im Vergleich zu Alternativen jedoch „teurer“ ist, ist eine weitaus komplexere Frage.

 

  • Die Entwicklung in Rust kann bedeuten, dass deutlich weniger Aufwand in Tests und Qualitätssicherung investiert werden muss, da der Code von Natur aus sicher und fehlerfrei ist.
  • Das Ökosystem von Rust – bestehend aus Bibliotheken, Werkzeugen und der Community – ist bereits weitaus umfangreicher als das von C++. All dies beschleunigt den Entwicklungsprozess und trägt zu einer besseren Softwareleistung bei. Es wurde bereits erwähnt, dass Untersuchungen von AWS ergeben haben, dass Rechenzentren, die mit Rust-Code betrieben werden, nur halb so viel Strom verbrauchen wie solche, die auf Java basieren – eine Einsparung, die enorme Summen ausmacht, insbesondere wenn man die Auswirkungen über einen längeren Zeitraum betrachtet.
  • Leistungsfähigere Software spart Geld oder bringt mehr Geld ein – wenn Rust das schafft, sind die etwas höheren Gehälter des Entwicklerteams während der anfänglichen Entwicklungsphase nur ein Tropfen auf den heißen Stein.

 

Ob die Entwicklung in Rust mehr oder weniger kostet als die Wahl einer Alternative, hängt stark vom Kontext der zu programmierenden Software und deren Verwendungszweck ab. Aufgrund der Stärken von Rust sollten die Gehälter der Entwickler jedoch in den meisten Fällen wahrscheinlich nicht als Maßstab für die wirtschaftliche Rentabilität der Sprache herangezogen werden.

 

Rust lernen – wie schwer ist es, können oder sollten Nachwuchsentwickler mit Rust als ihrer ersten Programmiersprache beginnen und welche Lernressourcen gibt es?

„Rust ist dafür berüchtigt, eine der steilsten anfänglichen Lernkurven zu haben. Das Besondere an steilen Kurven ist jedoch, dass man dadurch schneller weiterkommt. Die Kurve flacht zudem deutlich ab und bleibt bis zum Expertenniveau ziemlich flach. Dies steht im Gegensatz zu den meisten anderen Sprachen, die mit zunehmender Erfahrung immer schwieriger werden.“kohugali, Reddit-Nutzer.

 

Rust gilt aufgrund seiner komplexen Syntax und der steilen Lernkurve allgemein als eine Sprache, deren Beherrschung für Entwickler schwieriger ist als bei den meisten anderen Sprachen. Low-Level-Sprachen sind bekanntermaßen schwierig, und die strengen Regeln von Rust sowie der andere Ansatz bei der Lösung bestimmter Probleme erschweren den Einstieg zusätzlich.

Die meisten Bücher über Rust setzen Programmiererfahrung voraus und sind kürzer als die umfangreichen Werke zu Sprachen wie Java, C und C++.

Das ist auch eine Folge des ganzheitlichen Charakters von Rust.

Während Bücher über andere Sprachen in der Regel detailliert beschreiben, wie bestimmte Elemente wie Template-Variablen, Template-Typaliase, Vererbung, virtuelle Vererbung usw. funktionieren, verfolgen die entsprechenden Werke zu Rust meist einen anderen Ansatz – beispielsweise wird erklärt, wie Traits funktionieren, und anschließend wird es dem Entwickler überlassen, alles andere im Hinblick auf Traits zu betrachten und den Ansatz von dort aus weiterzuentwickeln.

 

Ein anderer Reddit-Nutzer meint dazu:

„Das Ergebnis: Nach diesem vier- bis fünf- oder vielleicht sogar zehnstündigen Kurs hat man zwar ein gutes Verständnis der Grundlagen … aber nicht die Fähigkeit, diese effektiv anzuwenden!“

„Denn ja, man hat zwar alle Bestandteile der Sprache gelernt, aber um sie anzuwenden, muss man sie auf eine bestimmte Art und Weise miteinander verknüpfen … doch das gilt nicht als Teil des ‚Rust-Lernens‘!“

Kohugali fügt hinzu:

„Es gibt keine umfassende Rust-Dokumentation, die ALLES abdeckt.“

„Dies spiegelt die Struktur des Rust-Ökosystems wider. Rust wurde im Zeitalter des Internets entwickelt – es verfügt über eine schlanke Standardbibliothek, die durch einen leistungsstarken Paketmanager, ein Build-System und ein umfangreiches, zentralisiertes Paketregister ergänzt wird. Die Verantwortung für eine umfassende Schulung und Dokumentation in einem bestimmten Bereich liegt in der Regel bei den Paketbetreuern dieses Bereichs.“

„Riesige Standardbibliotheken, in denen alles Mögliche zusammengeworfen ist, und dicke, umfassende Bücher gehören weitgehend der Vergangenheit an. Im Jahr 2023 googelt man einfach, was man wissen muss, und folgt den Hyperlinks, um mehr zu erfahren.“

 

Lerntipp für Rust – Schreibe bestehenden Code, den du in anderen Low-Level-Sprachen geschrieben hast, neu

Ein häufig gegebener Ratschlag für Rust-Einsteiger lautet, dass Entwickler ihren Code, den sie zuvor in anderen Low-Level-Sprachen wie Python, Java, C, C++ oder Go geschrieben haben, neu schreiben sollten.

Zunächst wird gezeigt, wie effektiv Rust bei der Beschleunigung einer Software sein kann. Da der Entwickler den logischen Weg zur Erreichung des Ziels bereits ermittelt hat, kann er sich zweitens ausschließlich darauf konzentrieren, die vorhandene Arbeit in Rust umzusetzen.

 

Wie lange dauert es, Rust zu lernen, wenn ich bereits andere Programmiersprachen beherrsche?

Auf diese Frage gibt es keine pauschale Antwort, da dies von Person zu Person unterschiedlich ist und davon abhängt, welche anderen Sprachen bereits gelernt wurden und wie gut man sie beherrscht.

Als sehr grobe Faustregel gilt jedoch, dass 3 bis 6 Monate Lernen und Programmieren in Rust in der Regel ausreichen, damit ein bereits erfahrener Entwickler ein solides mittleres Niveau erreicht und an kommerziellen Projekten arbeiten kann.

 

Ist Rust eine gute erste Programmiersprache zum Lernen?

Sollte sich ein absoluter Neuling in der Softwareentwicklung Rust als erste Programmiersprache vornehmen? Diese Frage hat in Foren wie dem Rust-Benutzerforum und auf Reddit eine lebhafte Debatte ausgelöst.

Es gibt natürlich keine eindeutige Antwort, und die Meinungen gehen auseinander. Man ist sich jedoch einig, dass es eine große Herausforderung wäre, direkt mit Rust anzufangen, diese aber nicht unüberwindbar ist – wobei der Einstieg mit Python als sinnvoller Zwischenschritt angesehen werden könnte.

Ein Nachteil beim Einstieg in eine Karriere als Entwickler mit Rust ist, dass es im Vergleich zu Sprachen wie Python und JavaScript möglicherweise schwieriger ist, eine Einstiegsstelle als Junior-Entwickler zu finden.

Das liegt zum einen daran, dass es einfach mehr Projekte gibt, bei denen JS und Python zum Einsatz kommen, und zum anderen daran, dass Rust meist für besonders kritische und oft komplexe Softwarekomponenten verwendet wird – genau dort, wo es seine Stärken ausspielt. Teams, die an solchen Projekten arbeiten, bestehen oft ausschließlich aus erfahrenen Entwicklern.

Ein Vorteil des Lernens von Rust als Nachwuchsentwickler ist, dass es zwar eine größere Herausforderung darstellt als manche anderen Sprachen, es aber auch viel schwieriger ist, Fehler zu machen, wenn man anfängt, an echten Projekten zu arbeiten – der Compiler lässt das einfach nicht zu.

 

Lernmaterialien zum Erlernen von Rust

Jon Gjengset

Buch – Rust für Rustaceaner

YouTube-Tutorials

 

Amos Wenger

YouTube-Kanal „fasterthanlime“ zum Thema Rust-Programmierung – Videos zur Rust-Programmierung, die keine Vorkenntnisse voraussetzen

Ausführliche Blogartikel zu Themen rund um die Rust-Entwicklung, teils technischer, teils konzeptioneller Natur – https://fasterthanli.me/

 

Keine Standardformulierung

YouTube-Kanal zu Rust – No Boilerplate

 

GitHub Copilot

GitHub Copilot, ein KI-gestützter Pair-Programmierer, kann Ihnen dabei helfen, die Grundlagen von Rust im Laufe der Arbeit zu erlernen und zu vertiefen – mit maßgeschneiderten Code-Vorschlägen, die den Zeitaufwand für die Suche nach Dokumentation und Ratschlägen aus der Rust-Community reduzieren.

 

Wie sieht die Zukunft von Rust aus?

Rust hat in den letzten Jahren einen enormen Popularitätsschub erlebt, nachdem die Akzeptanz bereits nach der Veröffentlichung von Rust 1.0 im Jahr 2015 beeindruckend gestiegen war. Wird sich dieser Trend fortsetzen?

Die meisten Experten gehen davon aus, dass die Antwort auf diese Frage „Ja“ lautet .

Ich habe bereits mehrere Trendtechnologien erwähnt, für die Rust aufgrund seiner Stärken als Programmiersprache die naheliegende Wahl ist, darunter IoT-Geräte und Blockchain. Da die Codesicherheit bei kommerziellen Softwareprojekten immer mehr an Bedeutung gewinnt, wird dies den Einsatz von Rust weiter fördern.

Die Beliebtheit von Rust bei den „Big Tech“-Unternehmen, die, wie wir gesehen haben, einen Großteil ihrer kritischen Software auf diese Sprache umstellen, macht die Sprache zukunftssicher – ein wichtiger wirtschaftlicher Faktor für Projekte bei der Entscheidung über den Tech-Stack.

Rust wird mittlerweile auch zunehmend in der Webentwicklung eingesetzt, um APIs und Backend-Komponenten zu programmieren, und sein Einfluss auf diesen größten Softwarebereich dürfte weiter zunehmen.

 

Wenn Sie ein Projekt planen und Rust als zentrale Komponente Ihres Tech-Stacks in Betracht ziehen, melden Sie sich bei uns. K&C verfügt über mehr als 20 Jahre Erfahrung als Nearshore-IT-Outsourcing-Anbieter und Agentur für maßgeschneiderte Softwareentwicklung.

Wir rekrutieren Rust-Entwickler und andere IT-Spezialisten an Nearshore-Standorten in Osteuropa und darüber hinaus und bieten drei regional gestaffelte Tarifstufen an, um unterschiedlichen Budgets gerecht zu werden.

Melde dich bei uns!

Ausgewählte Blogbeiträge