HackerTube

Rant: Entity systems and the Rust borrow checker ... or something.

Jonathan BlowRecommended by 3 HN commenters across 3 months, 2018–2025
YouTube
commentary · advanced · evergreen · 2018–2025 on HN

Jonathan Blow's hour-long livestreamed response to a RustConf 2018 closing keynote about entity systems in Rust. He argues that index-based entity systems amount to manual memory management that sidesteps the borrow checker, and he talks about friction for ga…

It is the standard citation in HN arguments over Rust for game development, the borrow checker and ECS designs, as a skeptical view from an experienced game developer.

12 comments from Hacker News

@colund2024-04 · in “Leaving Rust gamedev after 3 years”

I find that Jonathan Blow ranting about Rust game development here ▶ this video . He adds interesting perspectives to the discussio, how the language makes the Rust game developer resort to arrays and their so called Rust point of views.

Recommends View on HN
@hertzrat2022-09 · in “Unreal Rust”

These discussions always remind me of some talks by Jonathan blow where he argues rust doesn’t solve the hard problems he needed it to. There are podcast episodes with better discussions, but the main one people link to seems to be this I haven’t used rust, but I sympathize with his problems with pointers and learned a lot from the various ways people try to solve them ▶ this video

Recommends View on HN
@gravypod2020-02 · in “Jonathan Blow on Rust”

Pointers living through a render pass aren't the main use case he is interested in. It's a problem space that many engineers are familiar with so it's easy to talk about. Game developers have some very domain-specific problems that are less common outside of game engines. A more detailed description of his opinions are laid out here where he goes into much more detail about his experiences porting The Witness to mobile (I think): ▶ this video

Recommends View on HN
@matthewkayin2025-12 · in “Jonathan Blow has spent the past decade designing 1,400 puzzles”

> What features in Jai make it superior to C++ for writing games specifically? I know that Jonathan Blow can be abrasive and one-sided in his talks on programming, but I think we should be open-minded about Jai. Yes, he is making this language because he doesn't like C++, but you make it sound like he is hating on C++ just for the sake of it. I mean, is it really so hard to imagine that someone might not like something about C++? There are plenty of people who think we could have a better systems language, which is why we have seen languages like Rust, Zig, and Odin pop up. In Blow's case, he has said that he doesn't like Rust because he feels that satisfying the borrow-checker slows down iteration time[1], which is important especially in the early stages of game development when you are still experimenting with mechanics are where requirements and architecture are still very much subject to change. As far as what Jai offers, it seems his focus is on making a simple but powerful language (contrary to C++'s ever-growing bag-of-tricks), with fast compile times (less than 3 seconds on a full build of his new game), better build and dependency management (no more cmake), and powerful meta-programming features. In a talk on the language[2], he demos how he is able to use the language's meta-programming features to develop powerful code-analyzing and memory-analyzing tools. These tools, in particular, hint at his philosophy: lots of ideas in programming like RAII, garbage collecto

@bakugo2025-08 · in “Undefined Behavior in C and C++ (2024)”

There's also the fact that a lot of patterns that are commonly used in game development are fundamentally at odds with the borrow checker. Relevant: ▶ this video