Rust-Workshop: Unterschied zwischen den Versionen
Anlumo (Diskussion | Beiträge) |
|||
(36 dazwischenliegende Versionen von 20 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= | + | |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]] | + | [[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 | + | 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. | 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. | ||
Zeile 26: | Zeile 40: | ||
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 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. | + | 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 32: | 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 | + | 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 !! Kommentar | !Name !! Kommentar | ||
|- | |- | ||
− | | | + | |Hier könnte dein Name stehen! |
− | |||
− | |||
|- | |- | ||
− | | | + | |Nicole||🦀 |
|- | |- | ||
− | | | + | |BadPractice |
|- | |- | ||
− | |[[ | + | |Max|| |
+ | [[Datei:Snibetisnab.png|32x32px]] | ||
|- | |- | ||
− | | | + | |piro|| |
+ | (V) (O ww O) (V) | ||
|- | |- | ||
− | | | + | |min|| ♋ |
|- | |- | ||
− | |[[User: | + | |[[User:uniq|uniq]] |
|- | |- | ||
− | | | + | |torpor|| |
|- | |- | ||
− | |||
|} | |} |
Aktuelle Version vom 24. März 2023, 22:48 Uhr
Sprache: | Deutsch |
---|
Rust for Beginners | |
![]() | |
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 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 | |
piro |
(V) (O ww O) (V) |
min | ♋ |
uniq | |
torpor |