This site runs best with JavaScript enabled.

What the Fork is Rust?

Last tended on January 10, 2020
🌱 Evergreen

An Introduction to Rust

The Rust programming language keeps winning the middle-school popularity contest of the developer world: "most loved" on Stack Overflow surveys.

Chart showing rust at the top of the rankings for most loved languages with 83.5%

So, what's this Rust thing and why is everyone enamoured?
Let's explore...

Rust is a programming language mainly used to build 'system software.' Which means any software that acts as a platform for other software to run on top of it. iOS, linux, and windows are all system software. Rust is also becoming popular for making web apps. We can compile rust files into web assembly, which lets us run them in the browser.The power of rust is that it balances speed and safety. Safety here means memory safety. Mishandling how we store data on physical microchips can lead to bugs and security flaws. High-level languages are abstract and safer. Low-level languages work directly with memory, making them dangerous but fast. Rust lives in the happy middle ground

This happy balance Rust manages to strike – between speed, control over memory, and human-friendliness is what makes it so popular.

The kind of programmes you can write with Rust would otherwise be made in a language like C or C++. A lot of developers find the C-suite challenging to work with, so this friendly alternative is very welcome!

It's got the Goldilocks Effect going on. Not too slow, not too dangerous, not too complicated – just right.

The Rust community is also infamous for being welcoming, open, and encouaging to newcomers. Fostering that kind of culture is very likely why it's gained so much traction in the last few years.

Anyone who hangs out in Developer World long enough realises frameworks and languages are identities much more than they're tools. You belong to Team React, or Camp Python, or the Rust Crew.

And no one wants to join a bunch of judgey gatekeepers.

The rust install package comes with 'rustc' - the compiler, 'cargo' - the package manager, and 'rustup' - the toolchainRust is statically typed. This means the data type of every variable must be known at compile time. You can declare data types or let rust make an educated guess. Rust's compiler is strict. It won't let you mix data types.Rust is obsessed with ownership. Every value belongs to a variable. Values are like pet hamsters, they need an owner. If LeBron owns this hamster, then we assign LeBron to Shaq, ownership move to Shaq. LeBron no longer owns the hamster.

I've just done a sweeping and completely incomplete overview of Rust here. But it's enough to point you in the right direction. There's plenty more to explore.

While researching and making these I watched Pascal Precht's new egghead course that shows you how to Write Your First Program with Rust

Shareable Custom Hooks in React

Pascal covers more specific details like how Rust handles variables, mutability, functions, pointers, borrowing, loops, and errors.

If you're curious to start Rusting, worth taking a look.

Want more illustrated notes on web development?

Take a look at Building Custom React Hooks, Fixing Common Git Mistakes, or JavaScript Bits You Skipped the First Time Around

Want to share?

Join the newsletter

For weekly notes on visual thinking, ethical technology, and cultural anthropology.

Maggie Appleton © 2020