Artwork

תוכן מסופק על ידי Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
Player FM - אפליקציית פודקאסט
התחל במצב לא מקוון עם האפליקציה Player FM !

GST040 - Es gibt kein GOTO in Rust!

2:03:06
 
שתפו
 

Manage episode 230257827 series 2497287
תוכן מסופק על ידי Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
Wir sprachen mit Jan-Erik Rediger über Redis, Rust und Open Source Projekte

Jan-Erik Rediger (00:00:00)

  • https://twitter.com/badboy_, http://fnordig.de/
  • Irgendwas zwischen Entwickler und Administrator
  • Aktuell sehr aktiv in Redis und Rust (seit ~3 Jahren)
  • Jan-Erik ist über das Interesse an Algorithmen an Redis gekommen (lesbares C)

Redis (00:03:00)

  • https://redis.io/
  • Key-Value Datenbank

Open Source (00:08:00)

  • Einstieg in Open Source Projekte
  • erstes Projekt: Redis
  • Einstieg z.B. über Dokumentation
  • Redis ist inzwischen nicht mehr so einfach für den Einstieg
  • Es gibt Projekte (wie Rust), die Issues zum Einstieg markieren

Rust (00:13:30)

  • Jan-Erik ist bei Rust 0.11 eingestiegen
  • Probleme von C/C++
    • sehr alt :)
    • kommen aus einer Welt, wo es nur eine CPU gab
    • wenig (gute) Spracheigenschaften um Parallelität gut abzubilden
  • Rust erkennt viele der herkömmlichen Probleme schon beim Kompilieren
  • Rust will eine Low-Level Sprache sein, mit weniger Problemen

Rust's Ursprung & Andere Ansätze (00:19:25)

  • Graydon Hoare hat ~2006 angefangen an einer eigenen Sprache zu arbeiten
  • Seit 2009 hat sich Mozilla dem Projekt angenommen
  • D https://dlang.org/

Rust's Entwicklung (00:23:00)

  • Rust hatte bis vor ein paar Jahren immer noch eine Runtime
  • Fokus sollte wieder auf die Sprache selber gehen und die Runtime wurde entfernt, die Standard Library aufgeräumt
  • Rust 1.0 wurde am 2015 released (aktuell 1.19)
  • bis Rust 1.0 war die Sprache durch viele Änderungen extrem volatil

Einstieg in Rust (00:29:00)

Rust Releases, Plattformen, Buildsystem (00:33:30)

  • Rust wird alle zwei Wochen released
  • Es gibt aktuell keine "Marketing" Releases, sondern einfach nur einen festen Release Zyklus
  • Jeder Pull Request wird getestet
  • Zum Testen von Kompileränderungen werden alle aktuellen Pakete gebaut und getestet
  • (fast) alles was LLVM unterstützt, wird auch von Rust unterstützt
  • installieren kann man den Rustcompiler z.B. via rustup: https://www.rustup.rs/
  • cargo ist das Buildsystem und der Paketmanager von Rust: https://crates.io/

Womit loslegen in Rust? (00:40:00)

  • "Alles, was man sonst so mit C machen würde" :)
  • Jan-Erik schlägt CLI Tools als Einstiegspunkt vor
  • Aber: Rust ist keine besondere einfache Sprache

Testen in Rust (00:44:12)

  • Unit Tests sind direkt in das Tooling eingebaut: cargo test
  • In der Dokumentation können Codebeispiele verwendet werden, die ebenfalls getestet werden können: https://github.com/steveklabnik/rustdoc

Deployments (00:48:00)

  • rust kompiliert nicht sonderlich schnell
  • trust: Travis CI Template um Binary Releases zu bauen https://github.com/japaric/trust
  • rust Programme sind statisch gelinkt (ähnlich zu Go)

Firefox und Rust (00:54:30)

  • Mozilla baut eine neue Browser-Engine: servo https://servo.org/
  • Firefox ist größtenteils in C++ geschrieben
  • daher hat Rust eine gute Integration mit C/C++ (ohne Overhead)
  • Stylo ist eine neue CSS Engine für Firefox

Spracheigenschaften von Rust (01:02:30)

  • die Intergation in C/C++ kann unsicher sein: unsafe
  • besonders effizenter code kann auch schon mal unsafe benötigen
  • Code aus unsafe kann auch den sicheren (save) Code beeinflussen
  • Type Inference
  • Borrowship und Ownership: Jeder Wert hat einen Besitzer
  • Mutable und Immutable Data
  • Send und Sync
  • Wrap und Unwrap
  • "Result" Datentyp
  • Keine Exceptions
  • Refactoring Ruby with Monads: https://codon.com/refactoring-ruby-with-monads

Rust und Nebenläufigkeit (01:33:00)

  • Basis ist Borrowship und Ownership, sowie Send und Sync

Rust Entwicklung (01:43:15)

  • von Mozilla gespondert, aber viele Contributor
  • RFC Prozess, um Vorschläge von Sprachänderungen zu diskutieren
  • https://github.com/rust-lang/rfcs

Redis und Rust Communities (01:52:20)

  continue reading

פרקים

1. Jan-Erik Rediger (00:00:00)

2. Redis (00:03:00)

3. Open Source (00:08:00)

4. Rust (00:13:30)

5. Rust's Ursprung & Andere Ansätze (00:19:25)

6. Rust's Entwicklung (00:23:00)

7. Rust Releases, Plattformen, Buildsystem (00:33:30)

8. Womit loslegen in Rust? (00:40:00)

9. Testen in Rust (00:44:12)

10. Deployments (00:48:00)

11. Firefox und Rust (00:54:30)

12. Spracheigenschaften von Rust (01:02:30)

13. Rust und Nebenläufigkeit (01:33:00)

14. Rust Entwicklung (01:43:15)

15. Redis und Rust Communities (01:52:20)

42 פרקים

Artwork
iconשתפו
 
Manage episode 230257827 series 2497287
תוכן מסופק על ידי Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen או שותף פלטפורמת הפודקאסט שלהם. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
Wir sprachen mit Jan-Erik Rediger über Redis, Rust und Open Source Projekte

Jan-Erik Rediger (00:00:00)

  • https://twitter.com/badboy_, http://fnordig.de/
  • Irgendwas zwischen Entwickler und Administrator
  • Aktuell sehr aktiv in Redis und Rust (seit ~3 Jahren)
  • Jan-Erik ist über das Interesse an Algorithmen an Redis gekommen (lesbares C)

Redis (00:03:00)

  • https://redis.io/
  • Key-Value Datenbank

Open Source (00:08:00)

  • Einstieg in Open Source Projekte
  • erstes Projekt: Redis
  • Einstieg z.B. über Dokumentation
  • Redis ist inzwischen nicht mehr so einfach für den Einstieg
  • Es gibt Projekte (wie Rust), die Issues zum Einstieg markieren

Rust (00:13:30)

  • Jan-Erik ist bei Rust 0.11 eingestiegen
  • Probleme von C/C++
    • sehr alt :)
    • kommen aus einer Welt, wo es nur eine CPU gab
    • wenig (gute) Spracheigenschaften um Parallelität gut abzubilden
  • Rust erkennt viele der herkömmlichen Probleme schon beim Kompilieren
  • Rust will eine Low-Level Sprache sein, mit weniger Problemen

Rust's Ursprung & Andere Ansätze (00:19:25)

  • Graydon Hoare hat ~2006 angefangen an einer eigenen Sprache zu arbeiten
  • Seit 2009 hat sich Mozilla dem Projekt angenommen
  • D https://dlang.org/

Rust's Entwicklung (00:23:00)

  • Rust hatte bis vor ein paar Jahren immer noch eine Runtime
  • Fokus sollte wieder auf die Sprache selber gehen und die Runtime wurde entfernt, die Standard Library aufgeräumt
  • Rust 1.0 wurde am 2015 released (aktuell 1.19)
  • bis Rust 1.0 war die Sprache durch viele Änderungen extrem volatil

Einstieg in Rust (00:29:00)

Rust Releases, Plattformen, Buildsystem (00:33:30)

  • Rust wird alle zwei Wochen released
  • Es gibt aktuell keine "Marketing" Releases, sondern einfach nur einen festen Release Zyklus
  • Jeder Pull Request wird getestet
  • Zum Testen von Kompileränderungen werden alle aktuellen Pakete gebaut und getestet
  • (fast) alles was LLVM unterstützt, wird auch von Rust unterstützt
  • installieren kann man den Rustcompiler z.B. via rustup: https://www.rustup.rs/
  • cargo ist das Buildsystem und der Paketmanager von Rust: https://crates.io/

Womit loslegen in Rust? (00:40:00)

  • "Alles, was man sonst so mit C machen würde" :)
  • Jan-Erik schlägt CLI Tools als Einstiegspunkt vor
  • Aber: Rust ist keine besondere einfache Sprache

Testen in Rust (00:44:12)

  • Unit Tests sind direkt in das Tooling eingebaut: cargo test
  • In der Dokumentation können Codebeispiele verwendet werden, die ebenfalls getestet werden können: https://github.com/steveklabnik/rustdoc

Deployments (00:48:00)

  • rust kompiliert nicht sonderlich schnell
  • trust: Travis CI Template um Binary Releases zu bauen https://github.com/japaric/trust
  • rust Programme sind statisch gelinkt (ähnlich zu Go)

Firefox und Rust (00:54:30)

  • Mozilla baut eine neue Browser-Engine: servo https://servo.org/
  • Firefox ist größtenteils in C++ geschrieben
  • daher hat Rust eine gute Integration mit C/C++ (ohne Overhead)
  • Stylo ist eine neue CSS Engine für Firefox

Spracheigenschaften von Rust (01:02:30)

  • die Intergation in C/C++ kann unsicher sein: unsafe
  • besonders effizenter code kann auch schon mal unsafe benötigen
  • Code aus unsafe kann auch den sicheren (save) Code beeinflussen
  • Type Inference
  • Borrowship und Ownership: Jeder Wert hat einen Besitzer
  • Mutable und Immutable Data
  • Send und Sync
  • Wrap und Unwrap
  • "Result" Datentyp
  • Keine Exceptions
  • Refactoring Ruby with Monads: https://codon.com/refactoring-ruby-with-monads

Rust und Nebenläufigkeit (01:33:00)

  • Basis ist Borrowship und Ownership, sowie Send und Sync

Rust Entwicklung (01:43:15)

  • von Mozilla gespondert, aber viele Contributor
  • RFC Prozess, um Vorschläge von Sprachänderungen zu diskutieren
  • https://github.com/rust-lang/rfcs

Redis und Rust Communities (01:52:20)

  continue reading

פרקים

1. Jan-Erik Rediger (00:00:00)

2. Redis (00:03:00)

3. Open Source (00:08:00)

4. Rust (00:13:30)

5. Rust's Ursprung & Andere Ansätze (00:19:25)

6. Rust's Entwicklung (00:23:00)

7. Rust Releases, Plattformen, Buildsystem (00:33:30)

8. Womit loslegen in Rust? (00:40:00)

9. Testen in Rust (00:44:12)

10. Deployments (00:48:00)

11. Firefox und Rust (00:54:30)

12. Spracheigenschaften von Rust (01:02:30)

13. Rust und Nebenläufigkeit (01:33:00)

14. Rust Entwicklung (01:43:15)

15. Redis und Rust Communities (01:52:20)

42 פרקים

כל הפרקים

×
 
Loading …

ברוכים הבאים אל Player FM!

Player FM סורק את האינטרנט עבור פודקאסטים באיכות גבוהה בשבילכם כדי שתהנו מהם כרגע. זה יישום הפודקאסט הטוב ביותר והוא עובד על אנדרואיד, iPhone ואינטרנט. הירשמו לסנכרון מנויים במכשירים שונים.

 

מדריך עזר מהיר

האזן לתוכנית הזו בזמן שאתה חוקר
הפעלה