Zum Inhalt springen

Rust-Workshop: Unterschied zwischen den Versionen

Daxim (Diskussion | Beiträge)
Anlumo (Diskussion | Beiträge)
moar info
Zeile 24: Zeile 24:
Das besondere Kennzeichen von Rust ist die Absicherung zur compile time. Wenn man nicht absichtlich die Compilerchecks abdreht, garantiert ein erfolgreicher Compile-Vorgang, dass kein ungültiger Speicherzugriff erfolgt, und es kein undefiniertes Verhalten im Code gibt (das ist ein großer Unterschied zu C, wo so gut wie alle Programme irgendwo unabsichtlich undefiniertes Verhalten hervorrufen, weil das so ein Minenfeld ist). Das bedeutet einerseits, dass es oft sehr lange dauern kann, bis das Programm wirklich kompiliert, aber sobald es das tut, verhält es sich fast immer so wie man es erwartet.
Das besondere Kennzeichen von Rust ist die Absicherung zur compile time. Wenn man nicht absichtlich die Compilerchecks abdreht, garantiert ein erfolgreicher Compile-Vorgang, dass kein ungültiger Speicherzugriff erfolgt, und es kein undefiniertes Verhalten im Code gibt (das ist ein großer Unterschied zu C, wo so gut wie alle Programme irgendwo unabsichtlich undefiniertes Verhalten hervorrufen, weil das so ein Minenfeld ist). Das bedeutet einerseits, dass es oft sehr lange dauern kann, bis das Programm wirklich kompiliert, aber sobald es das tut, verhält es sich fast immer so wie man es erwartet.


Rust unterstützt neben den üblichen Plattformen auch nativ WebAssembly, d.h. man kann damit auch Webprogrammierung machen (gibt einige Frameworks dafür im Aufbau).
Rust ist nicht objekt-orientiert, sondern hat Strukturen, denen man Eigenschaften hinzufügen kann, ähnlich interfaces in C#/Java oder abstract classes in C++. Kurz, Separation of Concerns wird wie in OOP auch groß geschrieben, aber die Lösung dafür ist eine andere.
 
Rust unterstützt neben den üblichen Plattformen (inkl. ARM-Mikrocontrollern!) auch nativ WebAssembly, d.h. man kann damit auch Webprogrammierung machen (gibt einige Frameworks dafür im Aufbau).


=== Workshop-Informationen ===
=== Workshop-Informationen ===