Diving into Rust for Creative Coding
Published on Mar 16, 2024
I’ve spent most of my career in Ruby, Python, and JavaScript. Dynamic, forgiving languages where you can move fast and fix things later. Rust is the opposite of that.
The ownership model and borrow checker don’t let you be sloppy. Every assumption has to be made explicit. Coming from dynamic languages, this is genuinely disorienting at first - and that’s exactly why I wanted to learn it. The friction is the point.
Why creative coding
Learning a language by building CRUD apps is fine, but it doesn’t push you into the unfamiliar parts. Creative coding forces it. Geometry, randomness, real-time rendering - these require you to think about memory, performance, and data structures in ways that a web API doesn’t.
I’m using nannou, a Rust framework built for generative art and creative applications. It handles the window management and draw loop, leaving the interesting work to you.
What this series covers
I’ll document each experiment as I go - the code, what worked, what didn’t, and what Rust’s type system forced me to think about that I wouldn’t have otherwise. Starting with circles.
The code is rough. That’s deliberate. These are learning artifacts, not polished libraries.