[#36] Zig Roadmap 2024 - Andrew Kelley
Zig SHOWTIME1 HN recommender · recommended in 1 month, 2024-2025
66K views · 2 years ago · talk · dated
Andrew Kelley's 2024 Zig roadmap talk, followed by a Q&A, covers the language's priorities and the state of the project. Topics include compilation speed, moving off LLVM toward a self-hosted toolchain, async, and the path to 1.0.
HN points to it as the authoritative source on Zig's direction, especially why async was removed and why the toolchain is changing.
43:20Zig Roadmap 2023 - Andrew Kelley
Zig SHOWTIME
77K views • 4 years ago
59:48The Road to Zig 1.0 - Andrew Kelley
ChariotSolutions
168K views • 7 years ago
54:14Zig: A programming language designed for robustness, optimality, and clarity – Andrew Kelley
Recurse Center
75K views • 8 years ago
1:13:11Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
JetBrains
979K views • 5 months ago
49:20Modeling Data Concurrency w/ Asynchronous I/O in Zig - RedisConf 2020
Redis
11K views • 6 years ago
48:46Rust's Journey to Async/Await
InfoQ
90K views • 7 years ago
46:40Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)
ChimiChanga
415K views • 2 years ago
42:382021: Year of the Linux Gaming Desktop - Andrew Kelley
Zig SHOWTIME
15K views • 5 years ago
42:20Writing a Wayland Compositor in Zig - Isaac Freund
Zig SHOWTIME
26K views • 6 years ago
1:05:56Lang NEXT 2014 Panel Systems Programming in 2014 and Beyond
25msr
3K views • 8 years ago
32:24RustLatam 2019 - Without Boats: Zero-Cost Async IO
Rust Programming Language
55K views • 7 years ago
2:34:01Crust of Rust: async/await
Jon Gjengset
246K views • 5 years ago
48:30What's a Memory Allocator Anyway? - Benjamin Feng
Zig SHOWTIME
89K views • 6 years ago
1:02:49Hacking with Andrew and Brad: tip.golang.org
The Go Programming Language
99K views • 11 years ago
1:00:29Google I/O 2012 - Meet the Go Team
Google for Developers
108K views • 14 years ago
48:19GopherCon 2014 Inside the Gophers Studio with Blake Mizerany
Confreaks
8K views • 12 years ago
55:08Rust: A Language for the Next 40 Years - Carol Nichols
ChariotSolutions
367K views • 7 years ago
1:07:00Sydney Golang Meetup - Rob Pike - Go 2 Draft Specifications
Macquarie Group
57K views • 7 years ago
56:36GopherCon 2014 Opening Keynote by Rob Pike
Confreaks
38K views • 12 years ago
1:00:54GoingNative 2012 - Day 2 - Clang
aghuttun
13K views • 13 years ago
4 comments from Hacker News
Zig has a pretty well documented 1.0 goals. It was the first thing I heard about zig from Andrew about. ▶ this video
Well, if your compilations turn to be submilisecond it's not an implementation detail :) *. As of now it is only supported for x86_64 Linux (only ELF format) and it has some bugs; incremental compilation is in its very early stages. Andrew talked about it in the 2024 roadmap video[1] why they are digging so low on the multiplatform toolchain (for besides incremental compilation): - Fast build times (closely related to IC, but LLVM gives very slow development iterations, even for the compiler development) - Language innovations: besides IC, async/await is a feature Andrew determined to not be feasable to implement with LLVM's coroutines. Async will likely not make it into 1.0, as noted in the 0.13 release notes. It is not discarted yet but neither is it the priority. - There are architectures that don't work very well on LLVM: SPARC and RISC-V are the ones I remember My personal point is that a language that is meant to compete with C cannot have a hard dependency on a C++ project. That, and that it's appealing to have an alternative to LLVM whenever you want to do some JIT but don't want to bring a heavy dependency [1] ▶ this video * There is also the `--watch` flag for `zig build` which re-runs every step (IC helps) everytime a file is saved. [edit: formatting]*
Unfortunately I think this is not the case -- it might just be that the async/await issue is getting pushed into the next milestone tag with each release. In the most recent roadmap video[1] Andrew said that the main focus right now is compilation speed, and that async/await specifically was going to take a long time. My memory is that he says something about how it doesn't work well with LLVM and is generally a hard problem that they would prefer to do correctly instead of quickly. [1]: ▶ this video
Check out the Q&A in this video to hear it from the man himself, it's the first question: ▶ this video The tl;dr is: "The previous async approach ended up not working, and had to be removed. It's currently an incredibly hard problem with no clear rodemap. The plan is to get there eventually."