Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Rust's Journey to Async/Await

    InfoQ

    5 HN recommenders · recommended in 4 months, 2020–2026

    YouTube

    48:46 · 90K views · Nov 11, 2019

    Steve Klabnik walks through the history of Rust and how its design evolved toward async/await, including the alternatives tried and dropped. He also discusses the difficulty of adding a major feature to a language.

    HN points to it to show how deliberately the Rust team arrived at async/await and why it was chosen over alternatives like green threads.

    Software Engineering & LanguagesC, C++, Rust, Go & systems languagesProgramming language design
    1. 32:24
      RustLatam 2019 - Without Boats: Zero-Cost Async IORust Programming Language55K views • 7 years ago
    2. 2:34:01
      Crust of Rust: async/awaitJon Gjengset246K views • 5 years ago
    3. 3:03:54
      The Why, What, and How of Pinning in RustJon Gjengset87K views • 7 years ago
    4. 49:20
      Modeling Data Concurrency w/ Asynchronous I/O in Zig - RedisConf 2020Redis11K views • 6 years ago
    5. 1:00:29
      Google I/O 2012 - Meet the Go TeamGoogle for Developers108K views • 14 years ago
    6. 1:00:23
      [#36] Zig Roadmap 2024 - Andrew KelleyZig SHOWTIME66K views • 2 years ago
    7. 55:08
      Rust: A Language for the Next 40 Years - Carol NicholsChariotSolutions367K views • 7 years ago
    8. 59:48
      The Road to Zig 1.0 - Andrew KelleyChariotSolutions168K views • 7 years ago
    9. 1:55:24
      Ideas about a new programming language for games.Jonathan Blow530K views • 12 years ago
    10. 1:33:23
      Crust of Rust: Lifetime AnnotationsJon Gjengset299K views • 6 years ago
    11. 38:19
      Origins of Go Concurrency style by Rob Pikejasonofthel33t28K views • 14 years ago
    12. 56:36
      GopherCon 2014 Opening Keynote by Rob PikeConfreaks38K views • 12 years ago
    13. 2:12:42
      Build Your Own AsyncDavid Beazley60K views • 7 years ago
    14. 54:55
      Dconf 2014 Day 2 Keynote: The Last Thing D Needs -- Scott MeyersThe D Language Foundation19K views • 8 years ago
    15. 1:02:49
      Hacking with Andrew and Brad: tip.golang.orgThe Go Programming Language99K views • 11 years ago
    16. 59:26
      The Go Programming LanguageGoogle TechTalks406K views • 16 years ago
    17. 12:31
      OSCON 2010: Rob Pike, "Public Static Void"O'Reilly119K views • 16 years ago
    18. 48:19
      GopherCon 2014 Inside the Gophers Studio with Blake MizeranyConfreaks8.1K views • 12 years ago
    19. 51:27
      Google I/O 2012 - Go Concurrency PatternsGoogle for Developers894K views • 14 years ago
    20. 1:29:49
      Going Native 2012 Keynote Stroustrupsavage30933K views • 14 years ago

    5 comments from Hacker News

    1. @iknowstuffApr 2020· in “How often does Rust change?”

      Oh boy. The author of this post gave a speech about Rust’s journey to async/await: this video I highly recommend you skim it. It will show you how meticulous the core team is and how long it took to arrive at this incredible, best in class design.

      Strongly recommendsView on HN
    2. @traderj0eMay 2026· in “The limits of Rust, or why you should probably not follow Amazon and Cloudflare”

      Java is different. Tomcat's thread pool is the older way. A lot of newer stuff was using something promises-related instead with an event loop. But then recently Java added virtual threads which should obviate the need for that, similar to Go. Rust considered virtual threads but chose against that because it requires a more abstracted runtime like Java and Go have. Great preso on this this video All the "async" stuff is super poorly named. They mean cooperative multitasking, or I guess "async within a single kernel thread." Yeah multiple kernel threads are asynchronous but "async" doesn't mean that :S

      RecommendsView on HN
    3. @frollogastonMay 2025· in “Leaving Google”

      As you probably know, Rust ended up with async/await. This video goes deep into that and the alternatives, and it changed my opinions a bit: this video Golang differs from Rust by having a runtime underneath. If you're already paying for that, it's probably better to do greenthreading than async/await, which is what Go did. I still find the Go syntax for this more bothersome and error-prone, as you said, but there are other solutions to that.

      RecommendsView on HN
    4. @xiphias2Apr 2020· in “I can't keep up with idiomatic Rust”

      I was referring to the fact that it is the only async implementation that I know of that compiles to a state machine that doesn't need to allocate new memory for each continuation. I think it will translate to extremely fast web services in practice. Pinning is of course part of the elegant solution. There are some great videos about it: this video [LINK]

      RecommendsView on HN
    5. @dwootDec 2020· in “Tokio 1.0 – async runtime for Rust”

      I believe these are the talks from Steve that he's referring to. It was enlightening for me: 1. Rust's Journey to Async/Await - this video 2. The Talk You've been Await-ing for - [LINK] The first video goes into all the bits you're concerned about and all the things that Rust has tried before arriving where they are now

      RecommendsView on HN