HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Rust's Journey to Async/Await

InfoQ5 HN recommenders · recommended in 4 months, 2020-2026
YouTube
90K views · 6 years ago · talk · evergreen

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.

C, C++, Rust, Go & systems languagesProgramming language design#rust#async#languagedesign#futures#qcon

5 comments from Hacker News

@traderj0e2026 · 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
@frollogaston2025 · 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
@dwoot2020 · 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
@iknowstuff2020 · 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
@xiphias22020 · 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
Crust of Rust: async/await2:34:01

Crust of Rust: async/await

Jon Gjengset
246K views • 5 years ago
RustLatam 2019 - Without Boats: Zero-Cost Async IO32:24

RustLatam 2019 - Without Boats: Zero-Cost Async IO

Rust Programming Language
55K views • 7 years ago
The Why, What, and How of Pinning in Rust3:03:54

The Why, What, and How of Pinning in Rust

Jon Gjengset
87K views • 7 years ago
Modeling Data Concurrency w/ Asynchronous I/O in Zig - RedisConf 202049:20

Modeling Data Concurrency w/ Asynchronous I/O in Zig - RedisConf 2020

Redis
11K views • 6 years ago
Rust: A Language for the Next 40 Years - Carol Nichols55:08

Rust: A Language for the Next 40 Years - Carol Nichols

ChariotSolutions
367K views • 7 years ago
[#36] Zig Roadmap 2024 - Andrew Kelley1:00:23

[#36] Zig Roadmap 2024 - Andrew Kelley

Zig SHOWTIME
66K views • 2 years ago
Google I/O 2012 - Meet the Go Team1:00:29

Google I/O 2012 - Meet the Go Team

Google for Developers
108K views • 14 years ago
GopherCon 2014 Inside the Gophers Studio with Blake Mizerany48:19

GopherCon 2014 Inside the Gophers Studio with Blake Mizerany

Confreaks
8K views • 12 years ago
GopherCon 2014 Opening Keynote by Rob Pike56:36

GopherCon 2014 Opening Keynote by Rob Pike

Confreaks
38K views • 12 years ago
The Go Programming Language59:26

The Go Programming Language

Google TechTalks
406K views • 16 years ago
Crust of Rust: Lifetime Annotations1:33:23

Crust of Rust: Lifetime Annotations

Jon Gjengset
299K views • 6 years ago
Origins of Go Concurrency style by Rob Pike38:19

Origins of Go Concurrency style by Rob Pike

jasonofthel33t
28K views • 14 years ago
The Road to Zig 1.0 - Andrew Kelley59:48

The Road to Zig 1.0 - Andrew Kelley

ChariotSolutions
168K views • 7 years ago
Build Your Own Async2:12:42

Build Your Own Async

David Beazley
60K views • 7 years ago
Dconf 2014 Day 2 Keynote: The Last Thing D Needs -- Scott Meyers54:55

Dconf 2014 Day 2 Keynote: The Last Thing D Needs -- Scott Meyers

The D Language Foundation
19K views • 8 years ago
Ideas about a new programming language for games.1:55:24

Ideas about a new programming language for games.

Jonathan Blow
530K views • 12 years ago
Lang NEXT 2014 Panel  Systems Programming in 2014 and Beyond1:05:56

Lang NEXT 2014 Panel Systems Programming in 2014 and Beyond

25msr
3K views • 8 years ago
OSCON 2010:  Rob Pike, "Public Static Void"12:31

OSCON 2010: Rob Pike, "Public Static Void"

O'Reilly
119K views • 16 years ago
Going Native 2012 Keynote Stroustrup1:29:49

Going Native 2012 Keynote Stroustrup

savage309
33K views • 14 years ago
Parallelism, Concurrency, and Asynchrony in Perl 6 / Jonathan Worthington58:08

Parallelism, Concurrency, and Asynchrony in Perl 6 / Jonathan Worthington

yapcasia
6K views • 11 years ago