Rust is a statically-typed, compiled programming language that enforces memory safety through -- *record scratch*
Woah woah woah. Let’s back up.
What is a programming language?#
Computers have the notable distinction of being at once one of the most intelligent inventions in human history and also being super dumb. They can technically do almost anything, but only if you tell them exactly what to do in exactly their language – the language of 1s and 0s.
See, a computer is a bundle of physical circuits that can be open (represented as 0) or closed (represented as 1), and all the data a computer uses and all the logic it performs is articulated to it in the language of 1s and 0s called binary; the OG programming language. It’s just ones and zeros all the way day.
Writing complicated logic with only two numbers at your disposal is obviously hard. Accordingly, telling computers what to do was a massive pain for many many years, so much so that it was generally confined to the domain of nerds at universities like Grace Hopper and Ada Lovelace. They’d write out the literal 1s and 0s the hardware understood, sometimes by physically flipping switches or feeding in stacks of cards with holes punched in them. This was, as you might expect, difficult, error prone, and a pretty far cry from the work you see modern software engineers doing at the specialty coffee shop.
🐛 Bug Report
The term "bug" in software traces back to 1947, when Grace Hopper's team found an actual moth stuck in their Harvard Mark II relay computer. They taped it into the logbook with the note "first actual case of bug being found."
As these early computer scientists wrote more code, they realized a lot of their code did the same things, like adding two numbers or storing a name, and they concluded they needed an easier way to write these common instructions. They landed on the idea of a “higher level” programming language that read like English, which would then be run through a translator called the compiler that turned it into 1s and 0s for the machine. Easy for humans to write, easy for computers to run, everybody wins! Thus the first mainstream programming language was born: FORTRAN.
Confusion alert
Confusion alert: when we talk about "high level" and "low level" languages, we're not making a dig at lower level languages. It's about abstraction. At the lowest level you have binary ones and zeros, the actual language of the machine. Assembly sits one rung above that, giving human-readable names to those same operations. Each “higher” layer up the stack abstracts away more of the underlying detail, trading fine-grained control for readability and ease.


