{"id":779,"date":"2023-11-08T13:01:00","date_gmt":"2023-11-08T12:01:00","guid":{"rendered":"https:\/\/itsonix.laolaweb.com\/?p=779"},"modified":"2026-05-13T13:03:51","modified_gmt":"2026-05-13T11:03:51","slug":"rust","status":"publish","type":"post","link":"https:\/\/itsonix.eu\/de\/blog\/rust\/","title":{"rendered":"Rust"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In der Softwarebranche herrscht nie Stillstand. St\u00e4ndig entstehen neue Technologien, Frameworks und Programmiersprachen. Damit wir im Unternehmen technologisch immer up to date sind, befassen sich unsere Xperten regelm\u00e4\u00dfig mit aktuellen Themen. Dieses Mal haben wir die Programmiersprache Rust genauer unter die Lupe genommen. Dabei wollten wir wissen, was es mit der systemnahen Low-Level-Sprache auf sich hat, die C\/C++ sehr \u00e4hnlich ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was ist Rust?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Entwicklung von Rust wurde 2009 durch Mozilla Research unterst\u00fctzt. Motivation war es, eine Sprache zu entwerfen, die es Entwickelnden erm\u00f6glicht, kleinen, schnellen Code ohne Speicherfehler zu schreiben. Schlie\u00dflich wurde die Sprache in Anlehnung an die Bezeichnung der Rostpilze Rust genannt. Diese Pilzgruppe ist besonders daf\u00fcr bekannt, au\u00dferordentlich robust und \u00fcberlebensf\u00e4hig zu sein. Eigenschaften, die auch auf Rust zutreffen. Seit einigen Jahren nun ist die Weiterentwicklung der Sprache ein Open-Source-Projekt. F\u00fcr die Installation wird der Toolchain Installer Rustup ben\u00f6tigt, mit dem auch der Rust Compiler und das Build Tool Cargo aktualisiert werden k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Trotz des hohen Abstraktionsgrads zur eigentlichen Hardware ist Rust dennoch eine systemnahe Programmiersprache. Sie kommt ohne den Overhead eines Garbage-Collection-Mechanismus aus. Die hohe Speichersicherheit ist sicherlich der gr\u00f6\u00dfte Unterschied zu den klassischen Systemprogrammiersprachen wie C oder C++. Rust versucht mit unterschiedlichen Mitteln Fehler wie falschen Speicherzugriff, Puffer\u00fcberl\u00e4ufe oder Race Conditions zu verhindern. Statische Codeanalyse durch den Compiler spielt dabei eine wichtige Rolle. Hierzu z\u00e4hlen auch Konzepte wie standardm\u00e4\u00dfige Unver\u00e4nderlichkeit bei Variablen sowie exklusiver Eigent\u00fcmerschaft von Speicherstellen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Vergleich zu herk\u00f6mmlichen Sprachen sind diese in Rust grundlegenden Konzepte und Techniken neu und vielen Entwickelnden nicht so vertraut. Anhand von zwei Beispielen verdeutlichen wir in den folgenden Abschnitten die einige der Schl\u00fcsselaspekte von Rust.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Beispiele<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Im Listing 1 sehen wir ein Beispiel-Programm f\u00fcr die Verwendung von mutable und immutable Variablen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Grunds\u00e4tzlich werden Variablen folgenderma\u00dfen deklariert:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Es gen\u00fcgt das Schl\u00fcsselwort <em>let<\/em>.<\/li>\n\n\n\n<li>Optional kann auch die Angabe des Typs und die Zuweisung eines Wertes erfolgen.<\/li>\n\n\n\n<li>Handelt es sich um eine immutable Variable (nur Lesezugriff), was standardm\u00e4\u00dfig der Fall ist, kann nur maximal einmal ein Wert zugewiesen werden.<\/li>\n\n\n\n<li>F\u00fcr die Deklaration einer mutable Variablen (Lese- und Schreibzugriff) muss das Schl\u00fcsselwort <em>mut<\/em> nach <em>let<\/em> verwendet werden.<\/li>\n\n\n\n<li>Die G\u00fcltigkeit einer Variablen ist der umgebende Anweisungsblock, begrenzt durch geschweifte Klammern.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LISTING 1 VARIABLEN UND IHRE VER\u00c4NDERLICHKEIT:<\/strong><\/p>\n\n\n<div\n    class=\"align wp-block-bch-code-highlight\"    id=\"bhcCodeHighlight-1\"\n    data-attributes='{&quot;cId&quot;:&quot;26b805ff-2&quot;,&quot;headerPart&quot;:true,&quot;align&quot;:&quot;&quot;,&quot;language&quot;:&quot;javascript&quot;,&quot;lineNumbers&quot;:true,&quot;copyBtnOption&quot;:&quot;Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;headingTitleTypo&quot;:{&quot;fontWeight&quot;:400,&quot;fontSize&quot;:{&quot;desktop&quot;:18,&quot;tablet&quot;:13,&quot;mobile&quot;:11},&quot;lineHeight&quot;:1.5,&quot;fontFamily&quot;:&quot;Aleo&quot;,&quot;textTransform&quot;:&quot;uppercase&quot;},&quot;codeTypo&quot;:{&quot;desktop&quot;:18,&quot;tablet&quot;:15,&quot;mobile&quot;:14},&quot;clipBoard&quot;:true,&quot;wordWrap&quot;:true,&quot;width&quot;:{&quot;desktop&quot;:&quot;100%&quot;,&quot;tablet&quot;:&quot;100%&quot;,&quot;mobile&quot;:&quot;100%&quot;},&quot;height&quot;:{&quot;desktop&quot;:&quot;0px&quot;,&quot;tablet&quot;:&quot;0px&quot;,&quot;mobile&quot;:&quot;0px&quot;},&quot;padding&quot;:{&quot;top&quot;:&quot;0px&quot;,&quot;right&quot;:&quot;0px&quot;,&quot;bottom&quot;:&quot;0px&quot;,&quot;left&quot;:&quot;0px&quot;},&quot;background&quot;:{&quot;color&quot;:&quot;#d3cfcf42&quot;},&quot;headerBg&quot;:{&quot;color&quot;:&quot;#2f446e&quot;},&quot;headerTextColor&quot;:{&quot;color&quot;:&quot;#ffff&quot;},&quot;headerThemeOpt&quot;:&quot;one&quot;,&quot;layout&quot;:{&quot;align&quot;:&quot;left&quot;},&quot;border&quot;:{&quot;color&quot;:&quot;#000&quot;,&quot;style&quot;:&quot;solid&quot;,&quot;width&quot;:&quot;0px&quot;},&quot;shadow&quot;:[{&quot;hOffset&quot;:&quot;0px&quot;,&quot;vOffset&quot;:&quot;0px&quot;,&quot;blur&quot;:&quot;0px&quot;,&quot;spread&quot;:&quot;0px&quot;,&quot;color&quot;:&quot;rgba(0, 0, 0, 0.16)&quot;,&quot;isInset&quot;:false}],&quot;alignment&quot;:&quot;center&quot;,&quot;copyTypo&quot;:{&quot;fontWeight&quot;:400,&quot;fontSize&quot;:{&quot;desktop&quot;:13,&quot;tablet&quot;:13,&quot;mobile&quot;:11},&quot;lineHeight&quot;:1.5,&quot;fontFamily&quot;:&quot;Aleo&quot;},&quot;clipBoardColors&quot;:{&quot;color&quot;:&quot;#fff&quot;,&quot;bg&quot;:&quot;#00000024&quot;},&quot;copyIconSize&quot;:{&quot;desktop&quot;:24,&quot;tablet&quot;:20,&quot;mobile&quot;:18},&quot;copyBtnPadding&quot;:{&quot;desktop&quot;:{&quot;top&quot;:&quot;2px&quot;,&quot;left&quot;:&quot;5px&quot;,&quot;bottom&quot;:&quot;2px&quot;,&quot;right&quot;:&quot;5px&quot;},&quot;tablet&quot;:{&quot;top&quot;:&quot;2px&quot;,&quot;left&quot;:&quot;5px&quot;,&quot;bottom&quot;:&quot;2px&quot;,&quot;right&quot;:&quot;5px&quot;},&quot;mobile&quot;:{&quot;top&quot;:&quot;2px&quot;,&quot;left&quot;:&quot;5px&quot;,&quot;bottom&quot;:&quot;2px&quot;,&quot;right&quot;:&quot;5px&quot;}},&quot;headerPadding&quot;:{&quot;desktop&quot;:{&quot;top&quot;:&quot;14px&quot;,&quot;left&quot;:&quot;14px&quot;,&quot;bottom&quot;:&quot;14px&quot;,&quot;right&quot;:&quot;14px&quot;},&quot;tablet&quot;:{&quot;top&quot;:&quot;12px&quot;,&quot;left&quot;:&quot;12px&quot;,&quot;bottom&quot;:&quot;12px&quot;,&quot;right&quot;:&quot;12px&quot;},&quot;mobile&quot;:{&quot;top&quot;:&quot;10px&quot;,&quot;left&quot;:&quot;10px&quot;,&quot;bottom&quot;:&quot;10px&quot;,&quot;right&quot;:&quot;10px&quot;}},&quot;copyBtnPosition&quot;:{&quot;desktop&quot;:{&quot;top&quot;:&quot;5px&quot;,&quot;left&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;right&quot;:&quot;15px&quot;},&quot;tablet&quot;:{&quot;top&quot;:&quot;5px&quot;,&quot;left&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;right&quot;:&quot;15px&quot;},&quot;mobile&quot;:{&quot;top&quot;:&quot;5px&quot;,&quot;left&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;right&quot;:&quot;15px&quot;}},&quot;codeBg&quot;:{&quot;color&quot;:&quot;&quot;},&quot;outputOption&quot;:false,&quot;outputText&quot;:&quot;Hello Word !&quot;,&quot;outputColors&quot;:{&quot;color&quot;:&quot;#fff&quot;,&quot;bg&quot;:&quot;#2F446E&quot;},&quot;outputTypo&quot;:{&quot;fontWeight&quot;:400,&quot;fontSize&quot;:{&quot;desktop&quot;:21,&quot;tablet&quot;:17,&quot;mobile&quot;:13},&quot;lineHeight&quot;:1.5,&quot;fontFamily&quot;:&quot;Aleo&quot;},&quot;outputPadding&quot;:{&quot;desktop&quot;:{&quot;top&quot;:&quot;8px&quot;,&quot;left&quot;:&quot;8px&quot;,&quot;bottom&quot;:&quot;8px&quot;,&quot;right&quot;:&quot;8px&quot;},&quot;tablet&quot;:{&quot;top&quot;:&quot;7px&quot;,&quot;left&quot;:&quot;7px&quot;,&quot;bottom&quot;:&quot;7px&quot;,&quot;right&quot;:&quot;7px&quot;},&quot;mobile&quot;:{&quot;top&quot;:&quot;5px&quot;,&quot;left&quot;:&quot;5px&quot;,&quot;bottom&quot;:&quot;5px&quot;,&quot;right&quot;:&quot;5px&quot;}},&quot;outputBorder&quot;:{&quot;color&quot;:&quot;#000&quot;,&quot;style&quot;:&quot;solid&quot;,&quot;width&quot;:&quot;0px&quot;,&quot;radius&quot;:&quot;7px&quot;},&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true}}'\n>\n    <pre class=\"bchCodeData\" style=\"display:none;\">&quot;fn main() {\\n    let x : i32;\\n    x = 3;\\n    \\\/\\\/ x = 4; -&gt; Compiler Error\\n    println!(\\&quot;{}\\&quot;, x); \\\/\\\/ -&gt; 3\\n\\n    let mut y = 5;\\n    y += 5;\\n    println!(\\&quot;{}\\&quot;, y); \\\/\\\/ -&gt; 10\\n    {\\n        let y = y * 2; \\\/\\\/ -&gt; 20\\n        println!(\\&quot;{}\\&quot;, y);\\n    }\\n    y += 1;\\n    println!(\\&quot;{}\\&quot;, y); \\\/\\\/ -&gt; 11\\n}&quot;<\/pre>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Listing 2 zeigt die Konzepte Ownership (Eigentum), Reference (Referenz) und Borrowing (Ausleihe). Der Speicher ist hier explizit zuzuweisen und freizugeben. Dabei m\u00fcssen bestimmte Regeln, die das Eigentum des Speicherbereichs verwalten, eingehalten werden. Diese werden bereits vom Compiler \u00fcberpr\u00fcft. Die Regeln sind:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Jeder Wert in Rust hat einen Eigent\u00fcmer.<\/li>\n\n\n\n<li>Es kann immer nur einen Eigent\u00fcmer geben.<\/li>\n\n\n\n<li>Wenn der Eigent\u00fcmer den G\u00fcltigkeitsbereich verl\u00e4sst, wird der Wert gel\u00f6scht.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Dar\u00fcber hinaus gibt es auch Regeln f\u00fcr Referenzen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zu jedem beliebigen Zeitpunkt kann entweder eine ver\u00e4nderbare Referenz oder eine beliebige Anzahl unver\u00e4nderbarer Referenzen existieren.<\/li>\n\n\n\n<li>Referenzen m\u00fcssen immer g\u00fcltig sein.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Zur Veranschaulichung verwenden wir den Datentyp String. Es handelt sich dabei um einen nicht-skalaren Datentyp, der die auf dem Heap (neben Stack ein weiterer Bereich des Speichers) zugewiesenen Daten verwaltet. Eine ver\u00e4nderbare Variable wird definiert und der ben\u00f6tigte Speicher angefordert. Bei der \u00dcbergabe an eine Funktion wandert der Wert in die Funktion. Die Variable verl\u00e4sst ihren G\u00fcltigkeitsbereich und ist f\u00fcr einen Zugriff nicht mehr verf\u00fcgbar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deshalb wird in diesem Beispiel mit Clone eine Kopie der Variablen erzeugt und \u00fcbergeben. Es ist auch m\u00f6glich, eine Referenz als Funktionsparameter zu verwenden. Hierbei wird ein Verweis auf ein Objekt als Parameter genutzt, anstatt die Eigent\u00fcmerschaft des Wertes zu \u00fcbergeben. Eine Referenz ist insofern ein Zeiger, da es sich um eine Adresse handelt, die auf den Ort der Daten zeigt. Referenzen werden mit einem &amp;-Zeichen generiert. Man spricht dann von einem Borrowing (Ausleihe). In unserem Anwendungsfall wird eine ver\u00e4nderliche Referenz an die Funktion \u00fcbergeben. Ver\u00e4nderliche Referenzen haben vor allem eine gro\u00dfe Einschr\u00e4nkung: W\u00e4hrend exakt nur ein schreibender Eigent\u00fcmer vorhanden sein darf, k\u00f6nnen beliebig viele einen Lesezugriff erhalten. Daf\u00fcr jedoch darf der Wert nach der Zuweisung nicht mehr ver\u00e4ndert werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>LISTING 2: OWNERSHIP:<\/strong><\/p>\n\n\n<div\n    class=\"align wp-block-bch-code-highlight\"    id=\"bhcCodeHighlight-2\"\n    data-attributes='{&quot;cId&quot;:&quot;43b0eacc-1&quot;,&quot;headerPart&quot;:true,&quot;align&quot;:&quot;&quot;,&quot;language&quot;:&quot;javascript&quot;,&quot;lineNumbers&quot;:true,&quot;copyBtnOption&quot;:&quot;Text&quot;,&quot;theme&quot;:&quot;default&quot;,&quot;headingTitleTypo&quot;:{&quot;fontWeight&quot;:400,&quot;fontSize&quot;:{&quot;desktop&quot;:18,&quot;tablet&quot;:13,&quot;mobile&quot;:11},&quot;lineHeight&quot;:1.5,&quot;fontFamily&quot;:&quot;Aleo&quot;,&quot;textTransform&quot;:&quot;uppercase&quot;},&quot;codeTypo&quot;:{&quot;desktop&quot;:18,&quot;tablet&quot;:15,&quot;mobile&quot;:14},&quot;clipBoard&quot;:true,&quot;wordWrap&quot;:true,&quot;width&quot;:{&quot;desktop&quot;:&quot;100%&quot;,&quot;tablet&quot;:&quot;100%&quot;,&quot;mobile&quot;:&quot;100%&quot;},&quot;height&quot;:{&quot;desktop&quot;:&quot;0px&quot;,&quot;tablet&quot;:&quot;0px&quot;,&quot;mobile&quot;:&quot;0px&quot;},&quot;padding&quot;:{&quot;top&quot;:&quot;0px&quot;,&quot;right&quot;:&quot;0px&quot;,&quot;bottom&quot;:&quot;0px&quot;,&quot;left&quot;:&quot;0px&quot;},&quot;background&quot;:{&quot;color&quot;:&quot;#d3cfcf42&quot;},&quot;headerBg&quot;:{&quot;color&quot;:&quot;#2f446e&quot;},&quot;headerTextColor&quot;:{&quot;color&quot;:&quot;#ffff&quot;},&quot;headerThemeOpt&quot;:&quot;one&quot;,&quot;layout&quot;:{&quot;align&quot;:&quot;left&quot;},&quot;border&quot;:{&quot;color&quot;:&quot;#000&quot;,&quot;style&quot;:&quot;solid&quot;,&quot;width&quot;:&quot;0px&quot;},&quot;shadow&quot;:[{&quot;hOffset&quot;:&quot;0px&quot;,&quot;vOffset&quot;:&quot;0px&quot;,&quot;blur&quot;:&quot;0px&quot;,&quot;spread&quot;:&quot;0px&quot;,&quot;color&quot;:&quot;rgba(0, 0, 0, 0.16)&quot;,&quot;isInset&quot;:false}],&quot;alignment&quot;:&quot;center&quot;,&quot;copyTypo&quot;:{&quot;fontWeight&quot;:400,&quot;fontSize&quot;:{&quot;desktop&quot;:13,&quot;tablet&quot;:13,&quot;mobile&quot;:11},&quot;lineHeight&quot;:1.5,&quot;fontFamily&quot;:&quot;Aleo&quot;},&quot;clipBoardColors&quot;:{&quot;color&quot;:&quot;#fff&quot;,&quot;bg&quot;:&quot;#00000024&quot;},&quot;copyIconSize&quot;:{&quot;desktop&quot;:24,&quot;tablet&quot;:20,&quot;mobile&quot;:18},&quot;copyBtnPadding&quot;:{&quot;desktop&quot;:{&quot;top&quot;:&quot;2px&quot;,&quot;left&quot;:&quot;5px&quot;,&quot;bottom&quot;:&quot;2px&quot;,&quot;right&quot;:&quot;5px&quot;},&quot;tablet&quot;:{&quot;top&quot;:&quot;2px&quot;,&quot;left&quot;:&quot;5px&quot;,&quot;bottom&quot;:&quot;2px&quot;,&quot;right&quot;:&quot;5px&quot;},&quot;mobile&quot;:{&quot;top&quot;:&quot;2px&quot;,&quot;left&quot;:&quot;5px&quot;,&quot;bottom&quot;:&quot;2px&quot;,&quot;right&quot;:&quot;5px&quot;}},&quot;headerPadding&quot;:{&quot;desktop&quot;:{&quot;top&quot;:&quot;14px&quot;,&quot;left&quot;:&quot;14px&quot;,&quot;bottom&quot;:&quot;14px&quot;,&quot;right&quot;:&quot;14px&quot;},&quot;tablet&quot;:{&quot;top&quot;:&quot;12px&quot;,&quot;left&quot;:&quot;12px&quot;,&quot;bottom&quot;:&quot;12px&quot;,&quot;right&quot;:&quot;12px&quot;},&quot;mobile&quot;:{&quot;top&quot;:&quot;10px&quot;,&quot;left&quot;:&quot;10px&quot;,&quot;bottom&quot;:&quot;10px&quot;,&quot;right&quot;:&quot;10px&quot;}},&quot;copyBtnPosition&quot;:{&quot;desktop&quot;:{&quot;top&quot;:&quot;5px&quot;,&quot;left&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;right&quot;:&quot;15px&quot;},&quot;tablet&quot;:{&quot;top&quot;:&quot;5px&quot;,&quot;left&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;right&quot;:&quot;15px&quot;},&quot;mobile&quot;:{&quot;top&quot;:&quot;5px&quot;,&quot;left&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;right&quot;:&quot;15px&quot;}},&quot;codeBg&quot;:{&quot;color&quot;:&quot;&quot;},&quot;outputOption&quot;:false,&quot;outputText&quot;:&quot;Hello Word !&quot;,&quot;outputColors&quot;:{&quot;color&quot;:&quot;#fff&quot;,&quot;bg&quot;:&quot;#2F446E&quot;},&quot;outputTypo&quot;:{&quot;fontWeight&quot;:400,&quot;fontSize&quot;:{&quot;desktop&quot;:21,&quot;tablet&quot;:17,&quot;mobile&quot;:13},&quot;lineHeight&quot;:1.5,&quot;fontFamily&quot;:&quot;Aleo&quot;},&quot;outputPadding&quot;:{&quot;desktop&quot;:{&quot;top&quot;:&quot;8px&quot;,&quot;left&quot;:&quot;8px&quot;,&quot;bottom&quot;:&quot;8px&quot;,&quot;right&quot;:&quot;8px&quot;},&quot;tablet&quot;:{&quot;top&quot;:&quot;7px&quot;,&quot;left&quot;:&quot;7px&quot;,&quot;bottom&quot;:&quot;7px&quot;,&quot;right&quot;:&quot;7px&quot;},&quot;mobile&quot;:{&quot;top&quot;:&quot;5px&quot;,&quot;left&quot;:&quot;5px&quot;,&quot;bottom&quot;:&quot;5px&quot;,&quot;right&quot;:&quot;5px&quot;}},&quot;outputBorder&quot;:{&quot;color&quot;:&quot;#000&quot;,&quot;style&quot;:&quot;solid&quot;,&quot;width&quot;:&quot;0px&quot;,&quot;radius&quot;:&quot;7px&quot;},&quot;TrpContentRestriction&quot;:{&quot;restriction_type&quot;:&quot;exclude&quot;,&quot;selected_languages&quot;:[],&quot;panel_open&quot;:true}}'\n>\n    <pre class=\"bchCodeData\" style=\"display:none;\">&quot;fn main() {\\n\\n    let mut string_original = String::from(\\&quot;Original\\&quot;);\\n    ownership_with_drop_after(string_original.clone());\\n    println!(\\&quot;{string_original}\\&quot;); \\\/\\\/ -&gt; Original\\n\\n    string_original = ownership_with_drop_after(string_original);\\n    println!(\\&quot;{string_original}\\&quot;); \\\/\\\/ -&gt; Original : Ge\\u00e4ndert\\n\\n    println!(\\&quot;########\\&quot;); \\n\\n    let mut string_reference_pointer = String::from(\\&quot;Pointer\\&quot;);\\n    change_with_pointer(&amp;mut string_reference_pointer);\\n    println!(\\&quot;{string_reference_pointer}\\&quot;); \\\/\\\/ -&gt; Pointer Reference\\n}\\n\\nfn ownership_with_drop_after (mut s : String) -&gt; String {\\n    s.push_str(\\&quot; : Ge\\u00e4ndert\\&quot;);\\n}\\n\\nfn change_with_pointer(s : &amp;mut String) {\\n    s.push_str(\\&quot; Reference\\&quot;);\\n}&quot;<\/pre>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Im Vergleich zu anderen Programmiersprachen bietet Rust insbesondere Vorteile, wenn es um Stabilit\u00e4t, Sicherheit und Performance geht. Der Einstieg in Rust ist allerdings durch die grundlegenden Konzepte der Sprache und den daraus resultierenden Architekturen nicht gerade einfach. Daher ist es empfehlenswert, zu Beginn nicht vollst\u00e4ndig auf Rust umzusteigen oder es voreilig in gro\u00dfen Projekten zu implementieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vor allem hybride Ans\u00e4tze erweisen sich als sinnvoll, bei denen Rust-Komponenten als Microservices oder Bibliotheken entwickelt und integriert werden. Eine weitere vielversprechende Option ist die Erzeugung von WebAssembly-Bytecode in Rust, was zuk\u00fcnftig in der Praxis sehr n\u00fctzlich sein kann. Auf diese Weise k\u00f6nnen rechenintensive oder Low-Level-Aufgaben effizient in Rust bew\u00e4ltigt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rust findet auch Anwendung im Bereich Embedded-Systeme. Durch das Ownership-Konzept gew\u00e4hrleistet es eine gro\u00dfe Speichersicherheit. Da Rust ohne Laufzeitumgebung und Garbage Collector auskommt, wei\u00dft es auch einen vergleichsweise geringen Ressourcenverbrauch auf.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In der Softwarebranche herrscht nie Stillstand. St\u00e4ndig entstehen neue Technologien, Frameworks und Programmiersprachen. Damit wir im Unternehmen technologisch immer up to date sind, befassen sich unsere Xperten regelm\u00e4\u00dfig mit aktuellen Themen. Dieses Mal haben wir die Programmiersprache Rust genauer unter die Lupe genommen. Dabei wollten wir wissen, was es mit der systemnahen Low-Level-Sprache auf sich [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":780,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-779","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-softwareentwicklung"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Rust - IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen<\/title>\n<meta name=\"description\" content=\"it Sonix Blog: Rust\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itsonix.eu\/de\/blog\/rust\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rust - IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\" \/>\n<meta property=\"og:description\" content=\"it Sonix Blog: Rust\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itsonix.eu\/de\/blog\/rust\/\" \/>\n<meta property=\"og:site_name\" content=\"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-08T12:01:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-13T11:03:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/header_rust-e1788415396397.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1340\" \/>\n\t<meta property=\"og:image:height\" content=\"583\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Praktikant\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Praktikant\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/\"},\"author\":{\"name\":\"Praktikant\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#\\\/schema\\\/person\\\/829813e3a66c2dfbb030cd6647f3caf3\"},\"headline\":\"Rust\",\"datePublished\":\"2023-11-08T12:01:00+00:00\",\"dateModified\":\"2026-05-13T11:03:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/\"},\"wordCount\":856,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/header_rust-e1788415396397.jpg\",\"articleSection\":[\"Softwareentwicklung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/\",\"url\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/\",\"name\":\"Rust - IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/header_rust-e1788415396397.jpg\",\"datePublished\":\"2023-11-08T12:01:00+00:00\",\"dateModified\":\"2026-05-13T11:03:51+00:00\",\"description\":\"it Sonix Blog: Rust\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/#primaryimage\",\"url\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/header_rust-e1788415396397.jpg\",\"contentUrl\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/header_rust-e1788415396397.jpg\",\"width\":1340,\"height\":583,\"caption\":\"Grafische Darstellung der Programmiersprache Rust mit Quellcode, Sicherheitsfunktionen und moderner Softwareentwicklung f\u00fcr leistungsstarke und speichersichere Anwendungen\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/blog\\\/rust\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Start\",\"item\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rust\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/\",\"name\":\"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#organization\",\"name\":\"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\",\"url\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/itsonix_rgb.png\",\"contentUrl\":\"https:\\\/\\\/itsonix.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/itsonix_rgb.png\",\"width\":1755,\"height\":296,\"caption\":\"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen\"},\"image\":{\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/itsonix.eu\\\/de\\\/#\\\/schema\\\/person\\\/829813e3a66c2dfbb030cd6647f3caf3\",\"name\":\"Praktikant\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g\",\"caption\":\"Praktikant\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Rust - IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen","description":"it Sonix Blog: Rust","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itsonix.eu\/de\/blog\/rust\/","og_locale":"de_DE","og_type":"article","og_title":"Rust - IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen","og_description":"it Sonix Blog: Rust","og_url":"https:\/\/itsonix.eu\/de\/blog\/rust\/","og_site_name":"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen","article_published_time":"2023-11-08T12:01:00+00:00","article_modified_time":"2026-05-13T11:03:51+00:00","og_image":[{"width":1340,"height":583,"url":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/header_rust-e1788415396397.jpg","type":"image\/jpeg"}],"author":"Praktikant","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Praktikant","Gesch\u00e4tzte Lesezeit":"5\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itsonix.eu\/blog\/rust\/#article","isPartOf":{"@id":"https:\/\/itsonix.eu\/blog\/rust\/"},"author":{"name":"Praktikant","@id":"https:\/\/itsonix.eu\/de\/#\/schema\/person\/829813e3a66c2dfbb030cd6647f3caf3"},"headline":"Rust","datePublished":"2023-11-08T12:01:00+00:00","dateModified":"2026-05-13T11:03:51+00:00","mainEntityOfPage":{"@id":"https:\/\/itsonix.eu\/blog\/rust\/"},"wordCount":856,"commentCount":0,"publisher":{"@id":"https:\/\/itsonix.eu\/de\/#organization"},"image":{"@id":"https:\/\/itsonix.eu\/blog\/rust\/#primaryimage"},"thumbnailUrl":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/header_rust-e1788415396397.jpg","articleSection":["Softwareentwicklung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/itsonix.eu\/blog\/rust\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/itsonix.eu\/blog\/rust\/","url":"https:\/\/itsonix.eu\/blog\/rust\/","name":"Rust - IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen","isPartOf":{"@id":"https:\/\/itsonix.eu\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itsonix.eu\/blog\/rust\/#primaryimage"},"image":{"@id":"https:\/\/itsonix.eu\/blog\/rust\/#primaryimage"},"thumbnailUrl":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/header_rust-e1788415396397.jpg","datePublished":"2023-11-08T12:01:00+00:00","dateModified":"2026-05-13T11:03:51+00:00","description":"it Sonix Blog: Rust","breadcrumb":{"@id":"https:\/\/itsonix.eu\/blog\/rust\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itsonix.eu\/blog\/rust\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/itsonix.eu\/blog\/rust\/#primaryimage","url":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/header_rust-e1788415396397.jpg","contentUrl":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/header_rust-e1788415396397.jpg","width":1340,"height":583,"caption":"Grafische Darstellung der Programmiersprache Rust mit Quellcode, Sicherheitsfunktionen und moderner Softwareentwicklung f\u00fcr leistungsstarke und speichersichere Anwendungen"},{"@type":"BreadcrumbList","@id":"https:\/\/itsonix.eu\/blog\/rust\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Start","item":"https:\/\/itsonix.eu\/de\/"},{"@type":"ListItem","position":2,"name":"Rust"}]},{"@type":"WebSite","@id":"https:\/\/itsonix.eu\/de\/#website","url":"https:\/\/itsonix.eu\/de\/","name":"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen","description":"","publisher":{"@id":"https:\/\/itsonix.eu\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itsonix.eu\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/itsonix.eu\/de\/#organization","name":"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen","url":"https:\/\/itsonix.eu\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/itsonix.eu\/de\/#\/schema\/logo\/image\/","url":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/itsonix_rgb.png","contentUrl":"https:\/\/itsonix.eu\/wp-content\/uploads\/2026\/05\/itsonix_rgb.png","width":1755,"height":296,"caption":"IT Sonix - Ihr Partner f\u00fcr individuelle Softwarel\u00f6sungen"},"image":{"@id":"https:\/\/itsonix.eu\/de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/itsonix.eu\/de\/#\/schema\/person\/829813e3a66c2dfbb030cd6647f3caf3","name":"Praktikant","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dcf1b27e4ed416dc1ee2931ab8eac2c1ed8dc060bed9a0d6bb1f0501c05c25d?s=96&d=mm&r=g","caption":"Praktikant"}}]}},"_links":{"self":[{"href":"https:\/\/itsonix.eu\/de\/wp-json\/wp\/v2\/posts\/779","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itsonix.eu\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itsonix.eu\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itsonix.eu\/de\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/itsonix.eu\/de\/wp-json\/wp\/v2\/comments?post=779"}],"version-history":[{"count":1,"href":"https:\/\/itsonix.eu\/de\/wp-json\/wp\/v2\/posts\/779\/revisions"}],"predecessor-version":[{"id":781,"href":"https:\/\/itsonix.eu\/de\/wp-json\/wp\/v2\/posts\/779\/revisions\/781"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itsonix.eu\/de\/wp-json\/wp\/v2\/media\/780"}],"wp:attachment":[{"href":"https:\/\/itsonix.eu\/de\/wp-json\/wp\/v2\/media?parent=779"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itsonix.eu\/de\/wp-json\/wp\/v2\/categories?post=779"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itsonix.eu\/de\/wp-json\/wp\/v2\/tags?post=779"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}