<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rust on Backend Engineering Strategy Tools</title><link>https://backend-engineering-strategy-tools.github.io/site/tags/rust/</link><description>Recent content in Rust on Backend Engineering Strategy Tools</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Wed, 03 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://backend-engineering-strategy-tools.github.io/site/tags/rust/index.xml" rel="self" type="application/rss+xml"/><item><title>Rust</title><link>https://backend-engineering-strategy-tools.github.io/site/public-notes/languages/rust/</link><pubDate>Wed, 03 Jun 2026 00:00:00 +0000</pubDate><guid>https://backend-engineering-strategy-tools.github.io/site/public-notes/languages/rust/</guid><description>&lt;p&gt;Systems language with memory safety guarantees without a garbage collector. The ownership and borrow checker model enforces at compile time what other languages leave to the runtime or the programmer.&lt;/p&gt;
&lt;p&gt;The pitch: C/C++ performance and control, without the entire class of memory safety bugs that makes systems programming treacherous. In practice the borrow checker is the learning curve, it rejects code that would be valid in any other language until you understand why it is wrong.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="where-rust-is-winning"&gt;Where Rust is winning
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;CLI tooling&lt;/strong&gt;: a significant share of modern CLI tools are written in Rust. &lt;code&gt;ripgrep&lt;/code&gt;, &lt;code&gt;fd&lt;/code&gt;, &lt;code&gt;bat&lt;/code&gt;, &lt;code&gt;exa&lt;/code&gt;/&lt;code&gt;eza&lt;/code&gt;, &lt;code&gt;zoxide&lt;/code&gt;, &lt;code&gt;tokei&lt;/code&gt;. Startup time and binary distribution (single static binary) are the wins.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;WebAssembly&lt;/strong&gt;: Rust compiles to WASM with first-class tooling (&lt;code&gt;wasm-pack&lt;/code&gt;, &lt;code&gt;wasm-bindgen&lt;/code&gt;). Running near-native code in the browser or at the edge.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Embedded / systems&lt;/strong&gt;: where C used to be the only option. The safety guarantees matter more, not less, when there is no OS underneath.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cloud infrastructure tooling&lt;/strong&gt;: parts of the ecosystem are being rewritten in Rust. Firecracker (AWS Lambda&amp;rsquo;s VMM), parts of the Linux kernel, Cloudflare Workers runtime.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="tooling"&gt;Tooling
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Cargo&lt;/strong&gt;: the build system and package manager. Handles dependencies, building, testing, and publishing. One of the better-designed package managers in any ecosystem.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rustup&lt;/strong&gt;: toolchain manager. Manages Rust versions and targets (cross-compilation).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;clippy&lt;/strong&gt;: linter. Catches more than the compiler, opinionated in useful ways.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;rustfmt&lt;/strong&gt;: formatter. Like &lt;code&gt;gofmt&lt;/code&gt;, one style, no debate.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;IDE:&lt;/strong&gt; VS Code with &lt;code&gt;rust-analyzer&lt;/code&gt; extension, or IntelliJ/CLion with the Rust plugin.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="the-learning-curve"&gt;The learning curve
&lt;/h2&gt;&lt;p&gt;The borrow checker is a genuine obstacle. Rust enforces at compile time:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Exactly one owner of any value&lt;/li&gt;
&lt;li&gt;Any number of immutable references OR one mutable reference — not both&lt;/li&gt;
&lt;li&gt;References cannot outlive the value they point to&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is unfamiliar to anyone coming from languages with a GC. The compiler error messages are unusually helpful, but expect to spend real time understanding ownership before writing idiomatic Rust.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="resources"&gt;Resources
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://doc.rust-lang.org/book/" target="_blank" rel="noopener"
 &gt;The Rust Book&lt;/a&gt;: the standard introduction, free online&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/rust-lang/rustlings" target="_blank" rel="noopener"
 &gt;Rustlings&lt;/a&gt;: small exercises for learning by doing&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://crates.io/" target="_blank" rel="noopener"
 &gt;crates.io&lt;/a&gt;: the package registry&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blessed.rs/" target="_blank" rel="noopener"
 &gt;Blessed.rs&lt;/a&gt;: curated crate recommendations by category&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-trend-pattern"&gt;The trend pattern
&lt;/h2&gt;&lt;p&gt;Language adoption tends to follow ecosystem trends rather than purely technical merit. I started with Java. Then OpenStack brought Python into infrastructure work. Then Kubernetes arrived and its ecosystem was written in Go — so Go became the language of the cloud-native world by proximity as much as by choice.&lt;/p&gt;
&lt;p&gt;Rust looks like the next turn of that cycle. The &amp;ldquo;rewrite it in Rust&amp;rdquo; trend is real and growing — CLI tooling, parts of the Linux kernel, browser engines, cloud infrastructure. If the pattern holds, the ecosystem will pull Rust into more places where it becomes the pragmatic choice rather than the deliberate one.&lt;/p&gt;
&lt;p&gt;Haven&amp;rsquo;t given it a serious attempt yet. Worth doing — not because Rust is clearly the right tool for the things currently being built, but because being ahead of the ecosystem trend rather than behind it is how you end up with useful experience when the moment arrives. The tooling is good, the learning resources are good, and the borrow checker will teach you something about memory regardless of whether you end up writing Rust in production.&lt;/p&gt;</description></item></channel></rss>