I’ve been watching a handful of talks from last month’s Strange Loop conference. One that piqued my interest in particular was Andrew Black’s “Why Programming Languages Matter”. His central thesis is that the programming languages you know are a major influence on the way that you think as a programmer - a weak form of linguistic relativity, applied to programming. I’ve experienced this firsthand; the way I might think about solving a problem in C is almost certainly going to differ from how I would think about solving it in Python. In a subsequent talk, Douglas Creager calls out that one of the outcomes of this thesis is that learning new languages makes you a better programmer. I think this is likely to be true.
So. Having been thus convinced, and wanting to become a better programmer, I decided it was time I (finally!) look into Rust.
Learning Rust has been on my mental backlog of ToDos for a while now - after all, if Bryan Cantrill likes it then it must be worth checking out - I’ve just never dug in. To this end I’ve been spending 30-40 minutes a day plowing through the rustlings exercises. Once I’m through with that I’ll probably spin up a project that’s a little “meatier”/more realistic than “Hello, world!” I haven’t quite gotten to the point where I’d say I can “think in Rust.” In fact, for the most part I’ve been leveraging my knowledge of C to help inform my mental model of Rust - “Oh, so everything is a const unless you explicitly say it’s mutable”, for example. I’d imagine that if I didn’t already know C I’d be having a much harder time - “C’mon, guys, why do you have two different ‘kinds’ of string?”
Anyhow…it’s a work in progress.