Rust-Workshop: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(47 dazwischenliegende Versionen von 26 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:
|image=Rust_logo.svg
|image=Rust_logo.svg
|involved=[[User:anlumo|anlumo]]
|involved=[[User:anlumo|anlumo]]
|when=TBD
|when=2018-12-10 14:00 CET
|where=[[Hauptraum]]
|where=[[Hauptraum]]
|costs=gratis
|costs=gratis
Zeile 13: Zeile 13:
|hidden=false
|hidden=false
}}
}}
'''Du hast den Workshop verpasst, aber du willst trotzdem Rust lernen? [https://www.youtube.com/watch?v=2hXNd6x9sZs Hier ist ein Guide] dazu!'''


== Rust-Workshop ==
== Rust-Workshop ==


[[User:anlumo|anlumo]] überlegt, einen kleinen Workshop für die Programmiersprache Rust zu halten, falls sich genug Interessenten finden.
[[User:anlumo|anlumo]] hält eine kleine Workshopserie für die Programmiersprache Rust!
 
* 2022-06-28 19:00 Kapitel 1-4
* 2022-07-05 19:00 Kapitel 5-9
* 2022-07-12 19:00 Kapitel 10, 11, 13, 15 + Dokumentationsverfassung (zumindest so geplant)
 
Jeweils bis ca. 21:30 Uhr, d.h. ca. 3x2.5h. Der letzte Termin (siehe unten) war viel zu knapp bemessen von der Zeit her, daher jetzt auf mehrere Termine aufgeteilt.
 
Wer an einem Termin nicht kann, kann versuchen, den entsprechenden Abschnitt [https://doc.rust-lang.org/book/ im Rust Book] selbststaendig durchzugehen. Dabei auftretende Fragen koennen dann beim naechsten Termin geklaert werden.
 
=== Bisherige Termine ===
 
Montag, 2018-12-10 um 14:00. Geplant waren ca. 4h, d.h. bis 18:00. Tatsächlich ist es dann bis ca. 19:30 gelaufen.


=== Was ist Rust ===
=== Was ist Rust ===
[[Datei:WD40.jpg|150px|thumb|left|Rust debugger]]
Rust ist eine relativ neue Programmiersprache, die sich zum Ziel gesetzt hat, C als Systemprogrammiersprache abzulösen. Sie ist daher einerseits relativ low-level wie C, aber andererseits hat sie alle Vorzüge, die man von modernen Programmiersprachumgebungen wie JavaScript und Ruby gewohnt ist.


Rust ist eine sehr neue Programmiersprache, die sich zum Ziel gesetzt hat, C als Systemprogrammiersprache abzulösen. Sie ist daher einerseits relativ low-level wie C, aber andererseits hat sie alle Vorzüge, die man von modernen Programmiersprachumgebungen wie JavaScript und Ruby gewohnt ist.
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 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 auch nativ WebAssembly, d.h. man kann damit auch Webprogrammierung machen (gibt einige Frameworks dafür im Aufbau).
Rust unterstützt neben den üblichen Plattformen (inkl. Mikrocontrollern!) auch nativ WebAssembly, d.h. man kann damit auch Webprogrammierung machen (gibt einige Frameworks dafür).


=== Workshop-Informationen ===
=== Workshop-Informationen ===
Zeile 30: Zeile 46:
Die Idee ist, dass jeder Teilnehmende im [[Hauptraum]] des Metalabs mit dem eigenen Notebook teilnimmt, während [[User:anlumo|anlumo]] die Grundzüge erklärt. Rust läuft unter anderem unter Windows, macOS und Linux auf Intel und ARM (vollständige Liste [https://forge.rust-lang.org/platform-support.html hier]) und braucht nicht viele Resourcen, damit sollte es kein Problem sein, das auf der eigenen Hardware zum Laufen zu bringen. Die Installation selbst ist Teil des Workshops.
Die Idee ist, dass jeder Teilnehmende im [[Hauptraum]] des Metalabs mit dem eigenen Notebook teilnimmt, während [[User:anlumo|anlumo]] die Grundzüge erklärt. Rust läuft unter anderem unter Windows, macOS und Linux auf Intel und ARM (vollständige Liste [https://forge.rust-lang.org/platform-support.html hier]) und braucht nicht viele Resourcen, damit sollte es kein Problem sein, das auf der eigenen Hardware zum Laufen zu bringen. Die Installation selbst ist Teil des Workshops.


Weiters ist ein Texteditor notwendig, idealerweise mit Syntaxhighlighting für die Sprache ([[User:anlumo|anlumo]] verwendet Atom, aber vi, emacs, VSCode und viele andere gehen auch).
Weiters ist ein Texteditor notwendig, idealerweise mit Syntaxhighlighting für die Sprache ([[User:anlumo|anlumo]] verwendet Visual Studio Code, aber vim, emacs und viele andere gehen auch).


Der Workshop geht davon aus, dass die Teilnehmenden eine C-artige Programmiersprache (idealerweise C selbst) können, sonst müsste zu weit ausgeholt werden.
Der Workshop geht davon aus, dass die Teilnehmenden eine C-artige Programmiersprache (idealerweise C selbst) können, sonst müsste zu weit ausgeholt werden.


=== Interessentenliste ===
=== Interessentenliste ===
Hier Eintragen waere nett aber ist keine Voraussetzung fuer die Teilnahme!


{| class="wikitable"
{| class="wikitable"
!Name
!Name !! Kommentar
|-
|Hier könnte dein Name stehen!
|-
|Nicole||🦀
|-
|BadPractice
|-
|Max||
[[Datei:Snibetisnab.png|32x32px]]
|-
|piro||
(V) (O ww O) (V)
|-
|min|| ♋
|-
|[[User:uniq|uniq]]
|-
|torpor||
|-
|-
|Dein Name hier
|}
|}

Aktuelle Version vom 24. März 2023, 22:48 Uhr

Sprache: Deutsch
Subpages:
Rust-Workshop hat keine Unterseiten.


Rust for Beginners
Rust logo.svg
2018-12-10 14:00 CET
Hauptraum
anlumo
Workshop
gratis
planning
Learning Rust
Zuletzt aktualisiert: 24.03.2023


Du hast den Workshop verpasst, aber du willst trotzdem Rust lernen? Hier ist ein Guide dazu!

Rust-Workshop

anlumo hält eine kleine Workshopserie für die Programmiersprache Rust!

  • 2022-06-28 19:00 Kapitel 1-4
  • 2022-07-05 19:00 Kapitel 5-9
  • 2022-07-12 19:00 Kapitel 10, 11, 13, 15 + Dokumentationsverfassung (zumindest so geplant)

Jeweils bis ca. 21:30 Uhr, d.h. ca. 3x2.5h. Der letzte Termin (siehe unten) war viel zu knapp bemessen von der Zeit her, daher jetzt auf mehrere Termine aufgeteilt.

Wer an einem Termin nicht kann, kann versuchen, den entsprechenden Abschnitt im Rust Book selbststaendig durchzugehen. Dabei auftretende Fragen koennen dann beim naechsten Termin geklaert werden.

Bisherige Termine

Montag, 2018-12-10 um 14:00. Geplant waren ca. 4h, d.h. bis 18:00. Tatsächlich ist es dann bis ca. 19:30 gelaufen.

Was ist Rust

Rust debugger

Rust ist eine relativ neue Programmiersprache, die sich zum Ziel gesetzt hat, C als Systemprogrammiersprache abzulösen. Sie ist daher einerseits relativ low-level wie C, aber andererseits hat sie alle Vorzüge, die man von modernen Programmiersprachumgebungen wie JavaScript und Ruby gewohnt ist.

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 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. Mikrocontrollern!) auch nativ WebAssembly, d.h. man kann damit auch Webprogrammierung machen (gibt einige Frameworks dafür).

Workshop-Informationen

Die Idee ist, dass jeder Teilnehmende im Hauptraum des Metalabs mit dem eigenen Notebook teilnimmt, während anlumo die Grundzüge erklärt. Rust läuft unter anderem unter Windows, macOS und Linux auf Intel und ARM (vollständige Liste hier) und braucht nicht viele Resourcen, damit sollte es kein Problem sein, das auf der eigenen Hardware zum Laufen zu bringen. Die Installation selbst ist Teil des Workshops.

Weiters ist ein Texteditor notwendig, idealerweise mit Syntaxhighlighting für die Sprache (anlumo verwendet Visual Studio Code, aber vim, emacs und viele andere gehen auch).

Der Workshop geht davon aus, dass die Teilnehmenden eine C-artige Programmiersprache (idealerweise C selbst) können, sonst müsste zu weit ausgeholt werden.

Interessentenliste

Hier Eintragen waere nett aber ist keine Voraussetzung fuer die Teilnahme!

Name Kommentar
Hier könnte dein Name stehen!
Nicole 🦀
BadPractice
Max

Snibetisnab.png

piro

(V) (O ww O) (V)

min
uniq
torpor