Rust is Exciting

Rust is an exciting language. I recently bought The Rust Programming Language Book. It’s quite dense with a lot of concepts I haven’t thought about since college. Working in high-level programming languages such as Java, Python, and TypeScript have allowed me to mostly forget about the woes of low-level programming. Rust has both re-introduced me to these problems, and then immediately solved them with the advanced static analysis that its compiler provides.

I’m still a beginner with Rust. That’s the exciting part. I have so many questions; so many things to figure out. It’s a challenge. It’s a lot to learn. It reminds me of when I first started programming. There was a mountain of work to do, and an endless number of things to figure out. Eventually it gets easier and you become productive. You write small applications just because you can — because you want to prove that you know what you think you know.

Rust is full of features. Many of them deal with safety, such as the ownership system and borrow checker. It helps to guarantee memory safety, and coincidentally also helps when writing code that will be executed concurrently. These features are important, but what I’m really excited about are the language features — the features that make a language a joy to work in. Rust has plenty of these. Interoperability with C, pattern matching, the lack of a null type, Cargo, immutability-by-default, functional programming constructs built-in, macros, a compiler with the most helpful error messages I’ve ever seen, tuples, and pattern-matching. I’m just scratching the service. The type system and syntax isn’t quite as good as TypeScript, which I hold as the absolute gold standard (even if it isn’t perfect).

What’s particularly exciting is the applicability of Rust. I tend to use Python or Java for small shell scripts/programs. It works great for me, but it’s not especially portable. If I want to share my creations with my team members I have to provide explicit instructions about which runtime versions must be used, and any possible dependencies. Rust is a bit different. Since it produces native binaries I can simply hand them the executable (provided the dependencies are bundled) and let them have at it.

I’m excited to be a beginner again. I’m excited to learn about things I’ll never use in my day job. I’m excited to get good at writing Rust code. I’m excited for the future of programming languages, which will hopefully follow in Rust’s footsteps.

Recent posts from blogs that I like

Qwen 3.8 27B is excellent, but it defaults to wildly overthinking things

via Simon Willison

A volcanic weekend of paintings 2 Vesuvius

An early painting of an eruption in 1631, later works by JMW Turner, Clarkson Stanfield, Albert Bierstadt, Charles Caryl Coleman and others.

via The Eclectic Light Company

AI text watermarking is not a big deal

People are pretty unhappy about Anthropic’s recent announcement that they’re planning to include a hidden watermark in Claude model outputs. Will this lead to a mass exodus from Anthropic models? Will the introduction of watermarking be a meaningful change for users?

No. AI text watermarking is not ...

via Sean Goedecke