Rust – ein prägnanter Überblick über die von Entwicklern geliebte Low-Level-Programmiersprache

Erfahren Sie, was für eine Sprache Rust ist, wofür sie verwendet wird, welche Alternativen es gibt und welche kommerziellen Überlegungen bei der Entwicklung von Rust eine Rolle spielen.

Rust wurde 2010 als Open-Source-Systemsprache herausgegeben, die vom damaligen Mozilla-Ingenieur Graydon Hoare entwickelt wurde. Ursprünglich bloß ein Nebenprojekt, war Hoares Motivation, eine neue Sprache zu entwickeln, die den Speicherverwaltungs- und Zuweisungsproblemen von C und C++ entgegenwirkt.

Dies tat er und Rust wurde geboren. Dank Hoares anfänglicher Arbeit wurde die neue Sprache 2009 von Mozilla gesponsert, ein Jahr später als Open-Source-Projekt veröffentlicht und 2015 als „stabil und ausgereift“ erklärt – Rust 1.0 wurde dann veröffentlicht.

Inzwischen ist sie bei Entwicklern (2023 verwenden über 12 % der Entwickler die Sprache), Entscheidungsträgern im technischen Bereich und Unternehmen wie Microsoft, Alphabet und Dropbox sehr beliebt.

Rust wird vor allem eingesetzt für die Programmierung von:

  • betriebskritischen Backend-Systemen
  • Betriebssystemen, OS-nahem Code und anderen Low-Level-Komponenten (z. B. Android und Google Chrome)
  • Server-seitiger Web-Entwicklung
  • Blockchain-Infrastruktur und Smart-Contract Coding
  • CLI-Werkzeugen
  • eingebetteten Systeme und IoT-Entwicklung

 

Infographic showing common areas of use for the Rust programming language - DE version

 

Bei K&C haben Teams an einer Handvoll Projekten gearbeitet, die Rust in ihre Tech-Stacks aufgenommen oder als Kernprogrammiersprache verwendet haben. Aber wir haben in den letzten ein oder zwei Jahren einen Anstieg der Nachfrage nach der Sprache erlebt – insbesondere im Bereich der Blockchain- und dApp-Entwicklung.

Die Entwickler selbst lieben Rust und haben es 8 Jahre in Folge zur „meistgeschätzten“ Programmiersprache im allgemeinen Gebrauch gewählt.

Und die Weiterentwicklung des Softwareentwicklungssektors steigert die Nachfrage nach Entwicklern mit Erfahrung in dieser Sprache. Das Aufkommen von IoT-Geräten, deren Entwicklung viel mehr Low-Level-Programmierung erfordert, und ihr Nutzen für andere Trends wie die Blockchain-Technologie sorgen für eine steigende Nachfrage nach Rust-Entwicklern.

Dieser Blogbeitrag gibt Ihnen einen kurzen Überblick über die Programmiersprache Rust. Wir werden folgende Punkte behandeln:

  • Was für eine Programmiersprache ist Rust?
  • Wofür wird sie verwendet?
  • Technische und kommerzielle Erwägungen bei der Wahl von Rust in Ihrem Tech-Stack
  • Der Markt für Rust-Entwickler
  • Rust erlernen
  • Die Zukunft von Rust – erwartete Trends

 

Was für eine Programmiersprache ist Rust?

Rust ist eine „Low-Level“– oder Systemprogrammiersprache. Das bedeutet, dass sie direkt mit der Hardware interagieren kann, ohne dass eine Abstraktionsschicht wie ein Betriebssystem oder ein Webbrowser erforderlich ist, wie dies der Fall bei Webentwicklungssprachen wie JavaScript ist.

Systemprogrammiersprachen wie Rust (weitere Beispiele sind C, C++, Go und Assembly) werden in der Regel zur Programmierung von Low-Level-Systemkomponenten wie Betriebssystemen, Gerätetreibern, Systemdienstprogrammen, Spiel- und VR-Simulations-Engines und IoT-Geräten verwendet.

Systemsprachen bieten einen hardwarenahen Zugriff, der es Entwicklern ermöglicht, Hardwareressourcen zu steuern, um betriebskritische Aufgaben präziser auszuführen.

 

Infographic showing different programming languages classified from low to very high level

 

Sie gilt als die modernste Low-Level-Sprache, die kommerziell genutzt wird (Rust wurde im Internetzeitalter entwickelt). 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 Softwaresysteme wurden, die in die Hardware integriert sind, desto mehr wurden die Grenzen der bestehenden Low-Level-Sprachen deutlich – insbesondere im Hinblick auf die Speicherverwaltung.

Der Heureka-Moment für Rust ereignete sich Berichten zufolge, als der Gründer der Sprache, Hoare, nach einem Arbeitstag in den Büros des Open-Source-Softwaregiganten 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 nicht funktionierte, weil die Software abgestürzt war – zum wiederholten Mal.

Als Software-Ingenieur konnte er eine fundierte Vermutung anstellen, dass die Häufigkeit der Abstürze des Aufzugssoftwaresystems auf die Speicherfehler zurückzuführen war, die häufig durch die für die Programmierung von Programmen auf Systemebene verwendeten Sprachen – in der Regel C oder C++ – verursacht wurden.

Er begann ein Nebenprojekt, um eine neue Sprache zu entwickeln, die alle Vorteile der Kompaktheit und Geschwindigkeit älterer Systemsprachen in sich vereint – 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 Kompilierzeit-Ansatz von Rust für die Speicherzuweisung wichtig für die Sicherheit?

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

Rust überwindet dieses Problem, indem es speichersicheren Code ohne die Leistungseinbußen durch die Laufzeit-Garbage-Collection wiedergibt, die es dem Entwickler überlässt, überflüssige Objekte zu löschen, die Speicher belegen. Dies führt zu menschlicher Fehlbarkeit und zu der Art von Fehlern, die zu Softwareabstürzen und Sicherheitslücken führen.

 

„In C oder C++ hat man immer diese Angst, dass der Code zufällig abstürzt“Mara Bos, Mitbegründerin von Fusion Engineering und Leiterin des Bibliotheksteams von Rust.

 

Neuere Sprachen wie Java, JavaScript und Python umgingen dieses Problem durch die Verwendung von Komponenten, die als „Garbage Collectors“ bezeichnet werden, um die regelmäßige Bereinigung der Speicherzuweisung bei laufender Software zu automatisieren. Damit wurde das Problem der Speicherzuweisung gelöst, allerdings auf Kosten der präzisen Kontrolle und der Leistung, die durch die für die Garbage Collection erforderliche Verarbeitungszeit bedingt ist.

Rust war der Versuch von Hoare, das Beste aus beiden Welten in einer neuen Programmiersprache zu vereinen. Sie automatisiert die Speicherzuweisung und beseitigt damit das Risiko von Speicherfehlern, bietet aber dennoch ein hohes Maß an Kontrolle wie C und C++ – mit der Kompaktheit und Geschwindigkeit herkömmlicher Sprachen auf Systemebene.

Die Existenz einer Garbage-Collection-Komponente beeinträchtigte jedoch zunächst die Geschwindigkeit von Rust. Bis 2013 konnte das Mozilla-Team, das mit der Beschleunigung der Entwicklung des neuen Open-Source-Projekts Rust beauftragt worden war, dieses Problem jedoch beseitigen.

 

Rust als „stark typisierte“ Sprache

Ein großer Teil der Gründe, warum der Kern von Rust so entwickelt werden konnte, dass die Notwendigkeit der Garbage-Collection entfällt, liegt darin, dass es eine sehr stark typisierte Sprache wurde.

Stark typisierte Sprachen erzwingen Einschränkungen bei der Vermischung verschiedener Datentypen und Werte. Dies zwingt die Entwickler, strenge Regeln für das Schreiben von Code in Rust zu erlernen und einzuhalten, beseitigt jedoch größtenteils die Fehleranfälligkeit.

Die Open-Source-Community von Rust und das Mozilla-Team, die an der Sprache arbeiteten, haben ein „Ownership“-System für die Speicherverwaltung der Sprache eingeführt. Das bedeutet, dass auf ein einzelnes Datenelement nur durch eine Variable verwiesen werden kann – dies verhindert, dass verschiedene parallellaufende Threads versuchen, denselben Speicherbereich fast gleichzeitig zu ändern.

Diese Eigentumsregeln werden von einem Compiler durchgesetzt, der sich weigert, Code in ein lauffähiges Programm zu kompilieren, wenn die Datentypisierungsregeln nicht eingehalten werden.

 

„Rust erlegt einem Entwickler Disziplin auf“Tim Reznichenko, Team & Tech Lead, Senior Full Stack TypeScript Engineer & Web3 Entwickler bei K&C.

 

Diese strengen neuen Regeln für die Datentypisierung bedeuten, dass Softwareentwickler, die Rust verwenden, keine Fehler machen können, die zu Speicherfehlern führen würden. Wenn doch welche vorhanden sind, lässt sich der Code einfach nicht kompilieren. Das bedeutete, dass die Garbage-Collection-Komponente überflüssig wurde und nur noch Spuren wie das Referenzzählsystemübrigblieben, wodurch Rust noch schneller laufen konnte.

Rust war nun in der Lage, so nah an die Hardware heranzukommen wie C und C++ – mit dem gleichen Leistungsniveau, aber ohne die Speicherfehler.

Dies hat dazu geführt, dass sich die Sprache bei Softwareentwicklern und Projektträgern großer Beliebtheit erfreut.

 

Wofür wird Rust verwendet?

„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.

Low-Level-Sprachen wie Rust werden verwendet, um den Code für Maschinen zu schreiben, die nicht mit einem Betriebssystem wie Windows oder Linux arbeiten. Dazu gehört alles von Dialysegeräten über Ladenkassen bis hin zu… Aufzügen.

Systemsprachen werden auch für Software verwendet, die mit der Hardware kommunizieren muss, wie etwa Betriebssysteme. Die Kernel von Windows, Linux und MacOS wurden historisch gesehen alle in C geschrieben – die Migration zu Rust ist jetzt jedoch ein wichtiger Trend für die größten Tech-Unternehmen.

Es überrascht nicht, dass Mozilla das erste große Softwareunternehmen war, das die neue Low-Level-Sprache, die von einem seiner Ingenieure entwickelt und einem Mozilla-Team weiterentwickelt wurde, ausgiebig nutzte. Hoare selbst zog sich aus dem Projekt zurück, das er 2013 ins Leben gerufen hatte, und war zuversichtlich, dass das Mozilla-Team und die schnell wachsende Open-Source-Community, die sich um Rust herum gebildet hatte, es weiterführen und -entwickeln würden.

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

2016 veröffentlichte Mozilla Servo, eine neue Browser-Engine, die mit Rust programmiert wurde. 2017 wurde der Teil von Firefox, der CSS rendert, auf Rust migriert, was dem Browser einen erheblichen Leistungsschub gab.

 

  • Meta hat Rust verwendet, um eine Software neu zu gestalten, die von seinen Ingenieuren zur Verwaltung ihres internen Quellcodes verwendet wird.
  • Dropbox nutzte Rust, um eine neue Version der Software zu entwickeln, die Dateien zwischen den Geräten der Nutzer und dem Cloud-Speicher des Unternehmens synchronisiert.
  • Die Discord-Ingenieure schrieben Teile des Codes der App in Rust um und migrierten von Go (das eine Garbage-Collection-Komponente verwendet) und erreichten damit eine Verzehnfachung der Geschwindigkeit.
  • AWS gründete 2022 ein Rust-Team, um sichereren und schnelleren Code für seine Cloud-Computing-Plattform und -Tools zu schreiben. Eine AWS-Forschungsgruppe fand heraus, dass in Rust geschriebener Code zweimal weniger Strom verbraucht als in Java geschriebener. Damit ließe sich die Kapazität von Rechenzentren verdoppeln oder sie könnten in städtischen Gebieten untergebracht werden.

 

Rust wird nicht nur von Tech-Giganten verwendet. Es ist zu einem wichtigen Bestandteil des Tech-Stacks für IoT-Geräte geworden, einschließlich moderner Fahrzeuge und in der Luft- und Raumfahrtindustrie.

In unserem Blog-Beitrag über Anwendungsfälle von Rust erfahren Sie mehr über die vielfältigen Einsatzmöglichkeiten der Programmiersprache in Bereichen wie Webentwicklung, Spieleentwicklung, Netzwerke usw. und 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 Blockchain für Privatunternehmen, die von einem Konsortium unter der Leitung der Linux Foundation entwickelt wurde. Insgesamt wurden über 50 Blockchains und Blockchain-Frameworks mit Rust entwickelt oder unterstützen Rust.

 

Rust ist bei Entwicklern beliebt

Rust gehört vielleicht nicht zu den am häufigsten verwendeten Programmiersprachen, denn nur etwas mehr als 12 % der Entwickler arbeiten mit ihr. Aber es ist die am meisten „geschätzte“ aller Sprachen, die von der Stack Overflow Developer Survey 2023 abgedeckt werden; ein Titel, der nun seit 8 Jahren gehalten wird.

Die Kategorie basiert auf dem prozentualen Anteil der Entwickler, die eine Sprache verwenden und weiterhin mit ihr programmieren wollen. 80 % der Entwickler, die Rust verwenden, wollen dies auch weiterhin tun.

Auch die Popularität von Rust wächst enorm. Der Bericht „State of the Developer Nation“ von SlashData zeigt, dass es im Jahr 2023 etwa 2,8 Millionen Rust-Entwickler gibt. Diese Zahl hat sich in den letzten zwei Jahren fast verdreifacht.

 

12% der Softwareentwickler verwenden aktiv Rust

 

Chart showing programming language by order of popularity based on the % of software developers that use them

 

Laut dem Bericht „Top Programming Languages 2022“ von GitHub ist Rust die Programmiersprache, deren Nutzung im letzten Jahr am stärksten gestiegen ist – um 50,5 %. Dies spiegelt unsere Erfahrung mit zunehmenden Anfragen für Rust-Entwicklungs- und Personalbesetzungsleistungen wider.

Github stuft Rust auch als die am zweitschnellsten wachsende Programmiersprache zwischen 2021 und 2022 ein, mit einem Anstieg der Nutzung um 50,5 %.

 

Table showing programming languages by % growth in usage between 2021 and 2022

Quelle: GitHub

 

Nicht jeder mag Rust

Auch wenn dieser Artikel zu einer Art „Liebeserklärung“ an Rust geworden ist und unsere Rust-Entwickler bei K&C die Sprache sehr gerne verwenden, ist es wichtig, ein gewisses Gleichgewicht herzustellen – nicht jeder mag Rust.

Die strikten Regeln der Sprache können selbst für erfahrene Entwickler schwer zu erlernen sein, was zu Frustration führen kann. Es ist nicht die sanfteste Lernkurve.

Ein erfahrener Entwickler teilte seine Frustrationen mit Rust auf Reddit mit:

„Ich programmiere seit weit über dreißig Jahren. Ich bin ziemlich gut darin (normalerweise). Viele Kollegen und Manager haben mir gesagt, dass ich superschnell bin. Nun, nicht in Rust!“

„Jetzt bin ich gezwungen, Rust für ein Projekt bei der Arbeit zu verwenden. Das ist mehr als mühsam.“

„Alles in allem ist Rust ein Albtraum. Es ist übermäßig langatmig, verworren, schwer zu lesen, langsam zu kompilieren, und die Lifetimes sind wirklich eine Qual. Das Googeln nach dem, was ich brauche, führt selten zu guten Antworten.“

 

„Ich bin wirklich davon überzeugt, dass all die Leute, die behaupten, Rust sei großartig, entweder sich selbst oder andere belügen, oder dass es für sie nur ein Hobby ist. Es sollte nicht so schwer sein, eine Sprache zu lernen. Rust fühlt sich wie ein GROSSER Schritt zurück von Java an.“

Ich habe die Details der technischen Probleme, mit denen der Beitragende zu kämpfen hatte, übersprungen – für weitere Einzelheiten folgen Sie dem obigen Link zum Thread. Dennoch strengt sich die Community in einem beeindruckenden Masse an, dem Schreibenden zu helfen, seine Probleme in den Griff zu bekommen – trotz seiner ziemlich aggressiv kritischen Sprache.

Die aufgetretenen Probleme scheinen sich darauf zu beschränken, dass Rust im Vergleich zu anderen Sprachen, mit denen der Entwickler gearbeitet hat – C und Java – sehr eigenwillig ist.

Eine Antwort bringt es auf den Punkt:

„Du versuchst, Code auf eine Weise zu schreiben, die sich grundlegend von der Art und Weise unterscheidet, die Rust von dir erwartet, das ist der springende Punkt. Fang kleiner an, lerne, was es von dir will…“

Entwickler, die nicht bereit sind, die Notwendigkeit zu erkennen, die Herangehensweise an das Programmieren anzupassen, an die sie sich bei der Verwendung anderer Sprachen gewöhnt haben, werden von den strikten Regeln, die Rust erfordert, zurückgedrängt werden.

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

 

Rust-Entwicklungskosten und Gehälter von Rust-Entwicklern

Rust-Entwickler haben vielleicht nicht die höchsten Gehälter in der Branche, aber mit einem durchschnittlichen Jahresgehalt von 87.102 USD liegen sie am oberen Ende der Skala. Diese Zahl steigt in den USA auf 105.000 USD, liegt aber in IT-Outsourcing-Märkten wie der Ukraine eher bei 55.000 USD.

 

Chart showing programming languages including Rust ranked by average developer salary

 

Im Vergleich dazu liegt das durchschnittliche Jahresgehalt eines JavaScript-Entwicklers bei 74.034 USD und das eines Java-Entwicklers bei 72.701 USD.

Die relativ hohen Gehälter von Rust-Entwicklern spiegeln sowohl die aktuelle Nachfrage nach der Sprache als auch die Tatsache wider, dass die strikten Regeln, die ihre stark typisierte Natur bestimmen, das Erlernen der Sprache zu einer Herausforderung machen.

Die Gehälter von Rust-Entwicklern sind im vergangenen Jahr stabil geblieben, wobei der mittlere Durchschnitt 2023 fast genauso hoch ist wie 2022.

 

Chart showing variation in average median annual salary of Rust developers between 2022 and 2023

Quelle: StackOverflow Developer Survey 2023

 

Höhere Kosten für Tech-Fachkräfte, die Rust beherrschen, z. B. im Vergleich zu Java und Python, können oberflächlich gesehen höhere monatlich Kosten für IT-Dienste bedeuten. Ob es jedoch „teurer“ ist, in Rust im Vergleich zu Alternativen zu entwickeln, ist eine viel komplexere Gleichung als das.

 

  • Die Entwicklung in Rust kann bedeuten, dass deutlich weniger in Tests und Qualitätssicherung investiert werden muss, weil der Code von sich aus so sicher und fehlerfrei ist.
  • Das Ökosystem von Rust mit seinen Bibliotheken, Werkzeugen und seiner Community ist bereits viel ergiebiger als das von C++, was den Entwicklungsprozess beschleunigt und zu einer besseren Softwareleistung beiträgt – es wurde bereits erwähnt, dass AWS-Forschungen herausgefunden haben, dass Rechenzentren, die mit Rust-Code betrieben werden, nur halb so viel Strom verbrauchen wie andere, die mit Java betrieben werden – eine Ersparnis, die riesige Summen wert ist, vor allem, wenn man sie im Laufe der Zeit zusammenzählt.
  • Leistungsfähigere Software spart oder bringt mehr Geld ein – wenn Rust dies erreicht, sind die etwas höheren Gehälter der Entwicklerteams während des anfänglichen Entwicklungszyklus nur ein Tropfen auf den heißen Stein.

 

Ob die Entwicklung in Rust mehr oder weniger kostet als die Wahl einer Alternative, hängt sehr stark vom Kontext der zu programmierenden Software und deren Verwendungszweck ab. Aber die Stärken von Rust bedeuten, dass die Gehälter der Entwickler in den meisten Fällen wahrscheinlich nicht das sind, woran die wirtschaftliche Tragfähigkeit der Sprache gemessen wird.

 

Rust erlernen – wie schwer ist es; können oder sollten junge Entwickler mit Rust als erste Programmiersprache beginnen und welche Bildungsressourcen gibt es?

„Rust ist berüchtigt dafür, dass es eine der steilsten anfänglichen Lernkurven hat. Das Schöne an steilen Kurven ist jedoch, dass sie einen schneller nach oben bringen. Die Kurve flacht auch sehr stark ab und bleibt bis zum Expertenlevel ziemlich flach. Das steht im Gegensatz zu den meisten anderen Sprachen, die mit zunehmender Erfahrung immer schwieriger werden.“ kohugali, Reddit-Schreiber.

 

Rust gilt allgemein im Vergleich zu den meisten anderen Programmiersprachen als eine schwer zu beherrschende Sprache für Entwickler, da die Syntax schwierig und die Lernkurve steil ist. Low-Level-Sprachen sind bekanntermaßen schwierig, und die strikten Regeln von Rust und die unterschiedliche Herangehensweise an bestimmte Probleme machen es noch schwieriger, diese Sprache in den Griff zu bekommen.

Die meisten Bücher über Rust setzen Vorkenntnisse im Programmieren voraus und sind kürzer als die dicken Wälzer über Sprachen wie Java, C und CC++.

Das ist auch ein Ergebnis der ganzheitlichen Natur von Rust.

Während in Büchern über andere Sprachen üblicherweise Details darüber behandelt werden, wie bestimmte Elemente wie Template-Variablen, Template-Typ-Aliase, Vererbung, virtuelle Vererbung usw. funktionieren, verfolgen die Rust-Äquivalente typischerweise einen anderen Ansatz – zum Beispiel wird erklärt, wie Traits funktionieren, und dann wird die Verantwortung auf den Entwickler übertragen, alles andere über Traits herauszufinden und den Ansatz von dort aus zu extrapolieren.

 

Wie ein anderer Reddit-Schreiber meint:

„Das Endergebnis: Nach diesen 4-5 oder vielleicht 10 Stunden langen Kursen hat man ein gutes Verständnis der Grundlagen… aber keine Fähigkeit, sie effektiv anzuwenden!“

„Denn ja, man hat alle Teile der Sprache gelernt, aber um sie zu benutzen, muss man sie auf eine bestimmte Art und Weise verknüpfen… aber das gehört nicht zum „Rust lernen“!“

Kohugali fügt hinzu:

„Es gibt kein umfassendes Rust-Dokument, das ALLES abdeckt.“

„Dies spiegelt wider, wie das Ökosystem von Rust strukturiert ist. Rust wurde im Zeitalter des Internets entwickelt – es hat eine schlanke Standardbibliothek, die durch einen leistungsfähigen Paketmanager und ein Build-System sowie ein umfangreiches zentralisiertes Register von Paketen ergänzt wird. Die Verantwortung für eine umfassende Ausbildung und Dokumentation in einem bestimmten Bereich liegt normalerweise bei den Paketverwaltern in diesem Bereich.“

„Riesige Standardbibliotheken mit allem Drum und Dran und dicke, umfassende Bücher gehören weitgehend der Vergangenheit an. Im Jahr 2023 googelt man, was man wissen muss, und folgt den Hyperlinks, um mehr zu erfahren.“

 

Tipp zum Erlernen von Rust: Schreiben Sie vorhandenen Code, den Sie in anderen Low-Level-Sprachen geschrieben haben, neu.

Ein oft zitierter Ratschlag für diejenigen, die Rust lernen, ist, dass die Entwickler den Code, den sie zuvor in anderen Low-Level-Sprachen wie Python, Java, C, C++ oder Go geschrieben haben, umschreiben sollten.

Es wird erstens demonstrieren, wie effektiv Rust die Geschwindigkeit einer Software erhöhen kann. Zweitens kann sich der Entwickler, da er bereits den logischen Weg zur Erreichung des Ziels gefunden hat, ausschließlich darauf konzentrieren, wie er den bestehenden Code in Rust übersetzen kann.

 

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

Es gibt keine einfache Antwort auf diese Frage, da sie von Person zu Person unterschiedlich ist und davon abhängt, welche anderen Sprachen bereits gelernt wurden und in welchem Umfang.

Eine sehr grobe Faustregel besagt jedoch, dass 3-6 Monate des Lernens und Programmierens in Rust normalerweise ausreichen, damit ein bereits erfahrener Entwickler ein solides mittleres Niveau erreicht und in der Lage ist, an kommerziellen Projekten mitzuarbeiten.

 

Ist Rust eine gute erste Programmiersprache zum Einsteigen?

Sollte ein völliger Anfänger in der Softwareentwicklung Rust als erste Sprache in Angriff nehmen? Diese Frage hat in Foren wie dem Rust-Benutzerforum und auf Reddit Diskussionen ausgelöst.

Es gibt natürlich keine schwarz-weiß-Antwort und unterschiedliche Meinungen. Der Konsens lautet aber, dass der direkte Einstieg in Rust eine große Herausforderung, aber auch keine unmögliche Herausforderung wäre – obwohl der Einstieg in Python als sinnvoller Zwischenschritt angesehen werden könnte.

Ein Nachteil beim Start einer Entwicklungskarriere mit Rust ist, dass es im Vergleich zu Sprachen wie Python und JavaScript schwieriger sein kann, eine erste Stelle als Junior-Entwickler zu bekommen.

Das liegt zum einen daran, dass es einfach mehr Projekte gibt, die JS und Python verwenden, und zum anderen daran, dass Rust am häufigsten für besonders kritische und oft komplexe Software eingesetzt wird – und genau dort kommen die Stärken von Rust zum Vorschein. Teams, die an dieser Art von Projekten arbeiten, bestehen oft ausschließlich aus erfahrenen Entwicklern.

Ein Pluspunkt beim Erlernen von Rust als Junior-Entwickler ist, dass es zwar eine größere Herausforderung darstellt als andere Sprachen, es aber auch viel schwieriger ist, Fehler zu machen, wenn man mit der Arbeit an echten Projekten beginnt – der Compiler der Sprache lässt das nicht zu.

 

Bildungsressourcen für das Lernen von Rust

Jon Gjengset

Buch – Rust for Rustaceans

YouTube tutorials

 

Amos Wenger

YouTube-Kanal zur Rust-Programmierung fasterthanlime – Videos zur Rust-Programmierung, die keine Vorkenntnisse voraussetzen

Langform-Blogartikel über Rust-Entwicklungsthemen, einige technisch, einige konzeptionell – https://fasterthanli.me/

 

No Boilerplate

YouTube-Kanal über Rust – No Boilerplate

 

GitHub Copilot

GitHub Copilot, ein KI-gestütztes Programmierpaar, kann mit maßgeschneiderten Codevorschlägen beim Erlernen und Verfeinern der Rust-Grundlagen helfen und so den Zeitaufwand für die Suche nach Dokumentation und Ratschlägen der Rust-Community verringern.

 

Wie sieht die Zukunft von Rust aus?

Die Popularität von Rust ist in den letzten Jahren explodiert, nachdem die Akzeptanz nach der Veröffentlichung von Rust 1.0 im Jahr 2015 bereits beeindruckend gestiegen war. Wird sich das höchstwahrscheinlich fortsetzen?

Alles deutet im Moment darauf hin, 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 eine natürliche Wahl ist, darunter IoT-Geräte und Blockchain. Die Tatsache, dass die Codesicherheit bei kommerziellen Softwareprojekten immer wichtiger wird, wird die Verwendung von Rust weiter fördern.

Die Beliebtheit von Rust bei den „Big Tech“-Unternehmen, die einen Großteil ihrer wichtigen Software auf die Sprache migrieren, macht sie zukunftssicher – eine wichtige kommerzielle Überlegung für Projekte, wenn Entscheidungen über den Tech-Stack getroffen werden.

Rust wird jetzt auch zunehmend in der Web-Entwicklung eingesetzt, um APIs und Backend-Komponenten zu schreiben; und sein Einfluss auf die größte Software-Kategorie wird wohl noch wachsen.

 

Wenn Sie ein Projekt planen und Rust als Kernkomponente des Tech-Stacks in Betracht ziehen, nehmen Sie mit uns Kontakt auf. K&C verfügt über mehr als 20 Jahre Erfahrung als Nearshore-IT-Outsourcing-Anbieter und Agentur für individuelle Softwareentwicklung.

Wir rekrutieren Rust-Entwickler und andere IT-Spezialisten an Nearshore-Standorten in Osteuropa und darüber hinaus und bieten 3 geografische Tarifstufen für unterschiedliche Budgets an.

Nehmen Sie Kontakt mit uns auf!

Ausgewählte Blogbeiträge