Rust Icon


Rust is a systems programming language created by Mozilla.
69 Stories
All Topics


One program written in Python, Go, and Rust

This is a subjective, primarily developer-ergonomics-based comparison of the three languages from the perspective of a Python developer, but you can skip the prose and go to the code samples, the performance comparison if you want some hard numbers, the takeaway for the tl;dr, or the Python, Go, and Rust diffimg implementations.

Not only is this a good way to compare programming languages, but it’s a good way to learn a new language if you’re already familiar with one of the others.


Using Rust to scale Elixir for 11 million concurrent users

The Discord team bumped up against some limitations of the BEAM (Erlang’s virtual machine) when dealing with rather large data structures:

The double-edged sword of immutable data structures is that mutations are modeled by taking an existing data structure and an operation and creating a brand new data structure that is the result of applying that operation to the existing data structure.

This meant that when someone joined a server — internally referred to as guilds — with a Member List of 100,000 members, we would have to build a new list with 100,001 members in it.

You’ll want to click through and read all of the data structures they tried to fix this problem. It’s some seriously solid engineering and I love how they continued to measure and push themselves further. Finally, they reached for Rust thanks to BEAM’s NIF feature and really scaled up the speed.

The New Stack Icon The New Stack

Rust creator Graydon Hoare talks about security, history, and Rust

It’s hard to believe it’s already been 9 years since Rust was first announced to the world. The New Stack has a nice interview with Graydon Hoare

sharing his thoughts on everything from the state of systems programming, to the difficulty of defining safety on ever-more complex systems — and whether we’re truly more secure today, or confronting an inherited software mess that will take decades to clean up.

Sarah Allen

Essential Rust tools

Sarah Allen shares her essential Rust tools, which includes rustup, cargo, and rust-parcel. Sarah is “just scratching the surface” as she learns Rust, so stay tuned for more on Rust from her in the future.

Are you super experienced with Rust? Share any essential tools Sarah was missing in the discussion below.


A geometric Rust adventure

I recently ported some math code from C++ to Rust in an attempt to do a cool thing with Doom. Here is my story.

Buckle up, because this a #longread. However, it’s worth it because you will be entertained while wading through the mucky-muck of solving what sounds like a simple problem (but isn’t): I have some shapes. I want to find their intersection. Who knows, you might even learn some Rust along the way…

The Changelog The Changelog #341

Wasmer is taking WebAssembly beyond the browser

We’re talking with Syrus Akbary about WebAssembly and Wasmer — a standalone just in time WebAssembly runtime aiming to be fully compatible with Emscripten, Rust, and Go. We talked about taking WebAssembly beyond the browser, universal binaries, what’s an ABI?, running WebAssembly from any language, and what a world might look like with platform independent universal binaries powered by WebAssembly.


swc – like Babel, but 16-20 times faster (because Rust)

You can install swc (the speedy web compiler) from npm just like you’re used to, which will download a pre-built binary. That only works on mac (x64)/linux (x86_64)/win32-x64. For other environments, you’ll need the Rust nightly build.

Supports ES 2019, JSX, and TypeScript out of the box. You might want to jump straight to the migrating from Babel section. 😉

Steve Klabnik

thank u, next

In a post with a title borrowed from Ariana Grande, Steve Klabnik is announcing his departure from Mozilla and what he hopes could be his next moves.

Mozilla is not interested in hearing what I have to say. And that’s fine, but when I take a step back and think about things, that means it’s time to go, for both my sake and Mozilla’s. So I’ve just put in my two weeks’ notice.

The interesting thing isn’t exactly that he’s moving on from Mozilla, it’s that he’s betting big on WebAssembly.

I’ve also been enamored with another technology recently: WebAssembly. 2019 is going to be a huge year for WebAssembly, even if many people don’t know it yet, and may not see the effects until 2020.

So what’s his next move? Something different…

In terms of the actual work I would like to do, I don’t think a traditional engineering role really suits me. Don’t get me wrong, I love to write some code, but I don’t think that those kinds of roles really play to my unique strengths. What I really love to do is teaching, evangelizing, and growing something.


Dig in to Rust's 2018 survey results

The latest Rust user survey results are in and have been shared on the rust blog. One of the more interesting points, before digging into the data, is the survey launched for the first time in multiple languages — 14 languages total, in addition to English.

The results from non-English languages totaled 25% of all responses and helped push the number of responses to a new record of 5,991 responses.

I’m glad we’re getting to hear from more voices from all around the world — especially growing the response count by 25%! Also, pay attention to the comments shared about how Rust can improve. Good stuff.

Michael Snoyman

A crash course for Rust

Michael Snoyman introduces his upcoming blog series. If this intro is any indicator, Michael’s Rust crash course will be an excellent resource. Here’s a taste, in which he begins to answer the question, “Why Rust?”:

I’m a strong believer in using the compiler to help eliminate bugs. No programming language can eliminate all bugs and even the best designed language will typically need to leave developers plenty of wiggle room to shoot themselves in the foot. Still, there’s significant value in safety and long term maintainability of projects that use languages with this focus.

Without Boats

I sign my git commits with bpb (not pgp or gpg)

Right now, the only way to sign your git commits is to use PGP signatures (this is all git is able to integrate with). After a less than desirable experience using GPG, without wrote bpb in Rust to replace GPG.

I’ve been taking steps toward trying to sign and verify the data in the repo’s index without shipping a copy of GPG with Rust to every user.

This means I need to implement enough of the PGP protocol to create signatures and public keys that git will accept as valid. I’ve done this in a library which I’ve named pbp, this stands for Pretty Bad Protocol.

This library implements parsing and generation for a small subset of the PGP protocol…


sled – an embedded database for Rust

Careful now, ‘sled’ is in its alpha stage. Heck, its name is a recursive acronym that means “sled likes eating data”, so that should give you an indication of its state (I hope they come up with a new one once the software is stable). The project’s goals are on point:

  1. don’t make the user think. the interface should be obvious.
  2. don’t surprise users with performance traps.
  3. don’t wake up operators. bring reliability techniques from academia into real-world practice.
  4. don’t use so much electricity. our data structures should play to modern hardware’s strengths.
0:00 / 0:00