Gosh that’s a lot of video game references.
Recently, Steve Klabnik wrote a piece on marketing Rust. It questioned whether the party line of safety was the best angle to take. This morning, Graydon Hoare and Dave Herman published some follow up pieces. Mostly, these pieces said that marketing Rust using its safety was definitely correct and that questioning it, was at best, a little off. You can read the pieces here:
- Steve Klabnik, “Rust is more than safety”
- Dave Herman, “Safety is Rust’s Fireflower”
- Graydon Hoare, “Rust is mostly safety”
- Steve Klabnik, “Fire Mario, not Fire Flowers”
In his piece, Dave uses a popular metaphor from Kathy Sierra about fire flowers. She argues that while you may think that fire flowers are your product, your product is really Mario holding a fire flower. This is apparently called a Fire Mario, who knew.
In his piece, Graydon (OG rust creator) says that safety is the raison-d’etre of Rust. This is why he thinks it should be the marketing line. OK.
So- what’s my hot take? I think both Dave and Graydon miss the mark.
I’m going to use this Mario with burning plants or whatever metaphor to try and make it through my point:
Most developers aren’t Marios. They don’t have an affordance for fire flowers, which is to say- they either can’t pick up a fire flower, can’t find fire flowers in their universe, or don’t see any point in picking up a fire flower. At best, a fire flower doesn’t solve the problems they have, or, they don’t know how to phrase the problems they have in a way that a fire flower might be seen as a reasonable solution. Maybe they are metal Mario walking under water. Or just swimming. I dunno, I’m not good at video games.
I think a lot of developers think of Rust’s “safety” the same way a normal person in the real world might think of an actual fire flower: “Oh hey, why is that flower on fire? It looks cool, but I don’t know why this is happening.”
I work primarily with Node, on the package manager, npm, and my background before that was mostly Ruby. I’m coming from a different part of programming than many of the people who work on and with Rust. This place I come from though, it has a LOT of developers in it. A lot of developers that I think would benefit from Rust.
I believe that Steve’s original point was “maybe we should try marketing this a different way”. And I think he is right. I certainly didn’t pick up Rust because it was safe, and while I obviously don’t represent all people coming from dynamic scripting languages, I’m more representative than most people who are currently engaged in Rust.
So what to do? Three thoughts:
- Tell people what they can build with Rust. Rust solves problems for people who build certain types of things. But if you’ve never built those things, the problems you’d incur while building them aren’t obvious at all. So solving them seems a little irrelevant. If you tell people what they can build, they can try, and when things don’t blow up in their face (like C code that they’ve *never written* at 3am might), they’ll think Rust is neat. And they’ll probably keep using it.
tl;dr: Some people don’t know what Fire Flowers are. Those people probably won’t use Rust if you keep selling it like that.
EDIT: This tweet is a better tl;dr. just s/the patriarchy/safety and s/men/web developers.