curry-club-aux / curry-club-augsburg.de

Our Website
http://curry-club-aux.github.io/curry-club-augsburg.de/
Other
17 stars 5 forks source link

Inhaltliche Wünsche zu einer Rust-Vorstellung #62

Closed esclear closed 6 years ago

esclear commented 7 years ago

Hey, nachdem der @iblech das letzten Donnerstag ja mal „angeregt“ hat und durchaus Interesse zu bestehen scheint, denke ich tatsächlich darüber nach, Rust vorzustellen.

Als Termin würde ich ggf. das übernächste Treffen und ca. 30 - 45 Minuten Dauer ins Auge fassen.

Damit der Vortrag nicht zu langweilig wird, würde ich mich freuen, wenn Ihr hier einfach mal inhaltliche Wünsche / Themen die Euch interessieren reinschreibt.

Ich dachte bereits an:

sternenseemann commented 7 years ago

Wäre sicher eine gute Idee, das auch auf der ML zu fragen, da lesen vmtl. mehr mit…

timjb commented 7 years ago

Ich fände interessant:

iblech commented 7 years ago

Finde ich super, dass du das machst! :-)

Ich würde gerne Beispiele für (in anderen Sprachen) häufige Programmierfehler sehen, die in Rust unmöglich werden. Solche gibt es ja wahrscheinlich wie Sand am Meer.

Zum Kontrast sind aber vielleicht auch Beispiele erhellend, die zeigen, was nötig ist, damit das Typsystem augenscheinlich korrekten Code akzeptiert: Ist das meist ganz einfach? Oder gibt es Situationen, wo man länger mit dem Typsystem kämpfen muss?

(Das würde ich Rust keinesfalls schlecht auslegen. Kein Typsystem ist perfekt. Es ist nicht trivial, eine Balance zwischen "das Typsystem findet Fehler", "das Typsystem akzeptiert korrekte Programme", "das Typsystem produziert verständliche Fehlermeldungen", "das Typsystem trifft seine Entscheidung rasch" und "das Typsystem erzieht mich zu einer guten Programmiererin mit einem scharfen Stilbewusstsein" zu finden.)

Profpatsch commented 7 years ago

Als Anmerkung: Es besteht von mehreren Seiten Interesse daran, einen regelmäßigen Rust-Stammtisch im OpenLab zu machen. Einfach mal auf der Mailingliste (alle@lists.openlab-augsburg.de) anstoßen.

Profpatsch commented 7 years ago

lol, ich bin wieder zu langsam gewesen: https://openlab-augsburg.de/2016/11/neu-rust-stammtisch-im-openlab/

iblech commented 7 years ago

Jup. Vielleicht könnte Daniels Vortrag sowas wie ein nulltes Treffen des Rust-Stammtischs sein! (In Analogie zum Vortrag über die Implementierung von Perl 6 in Haskell im Perl-Stammtisch, welchen man vielleicht als nulltes Treffen des Curry Clubs ansehen kann.)

Vielleicht aber auch nicht, wenn die Interessen der Rust-Fans sich zu sehr vom Curry Club unterscheiden.

esclear commented 7 years ago

Den Vortrag bis zum Donnerstag zu halten, ist unrealistisch :)

esclear commented 7 years ago
Profpatsch commented 7 years ago

Warum sind Rust-Executables so riesig?

Was ist ein riesiges Executable? 4MB? Statisch oder dynamisch kompiliert?

esclear commented 7 years ago

631 kiB für ein einfaches "Hello World!":

fn main() {
    println!("Hello world!");
}

Das liegt unteranderem daran, dass standardmäßig Debug-Symbole enthalten sind, außerdem wird für Generics Monomorphization angewandt. Außerdem wird standardmäßig jemalloc für Speicherverwaltung mitgeliefert.

Im Allgemeinen sind die Executables auch dynamisch gelinked, aber eingebundene Crates werden "statisch" eingebunden.

esclear commented 7 years ago

Siehe auch die offizielle FAQ: https://www.rust-lang.org/en-US/faq.html#why-do-rust-programs-use-more-memory-than-c

larsrh commented 7 years ago

Zum Thema große Binaries :wink:

$ du -sh bin/isabellectl
46M     bin/isabellectl
Profpatsch commented 7 years ago

631 kiB für ein einfaches "Hello World!":

Ich denke viele verstehen einfach das Konzept von “konstantem Overhead” nicht. Das sind auch die Leute, die aus der Binary Size von Hello World mit Debugsymbolen Schlüsse ziehen … Jemand sollte da auch mal eine Korellation mit Menschen ziehen, die GC aus Prinzip ablehnen. Das wäre interessant.

esclear commented 7 years ago

@Profpatsch Ich empfinde das für die Verwendung auf Desktopsystemen im 21. Jahrhundert nicht als Problem, dennoch hört man diese Frage relativ oft, deswegen ist sie ja auch in den FAQ enthalten.

Wenn man mit Rust jedoch im Embedded-Bereich was machen möchte, beispielsweise Mikrocontroller programmieren, dann ist es denke ich schon sehr interessant, wie man die Größe der Binary verkleinern kann und weshalb sie überhaupt so groß ist.

sternenseemann commented 7 years ago

lol @Profpatsch ist mett