The Portal Behind the Computer Lab: Entering the Rust Realm
The fluorescent lights above Room 217 buzzed in that way they always did when nobody had touched them in years—a low, electrical hum that seemed to swallow footsteps. Alex Carter pushed the heavy door open with both hands and slipped inside, leaving the hallway's chatter behind like a coat he was tired of wearing.
The computer lab had been "temporarily closed for renovation" since spring break of last year, which at Hillbrook Middle School meant it would stay exactly as it was until someone important remembered it existed. The windows were taped over with yellowing paper. The rows of beige desktop towers sat like sleeping animals, their power LEDs long dead. But Alex wasn't here for the dead machines. Alex was here because Mr. Patterson, the retired janitor who lived two doors down, had sworn on a stack of library books that there was a working computer at the back of the room.
Alex had expected to find a dusty old iMac, maybe something with a CRT monitor that smelled like burnt plastic. What he found was something else entirely.
At the back of the lab, behind a chalkboard that someone had dragged across the room and propped against the wall, sat a single desk. On the desk was a monitor that glowed with a soft green light, even though it wasn't plugged into anything Alex could see. The keyboard beside it was the old mechanical kind, with keys worn smooth from decades of fingers. And on the screen, blinking patiently, was a single line of text:
``` $ _ ```
Alex's phone was at 3%. His brain, normally full of half-finished homework assignments and the lyrics to whatever song was stuck in his head, went very quiet. He pulled out the chair. The chair didn't squeak. Nothing in this room made a sound it wasn't supposed to make.
He sat down. He placed his fingers on the keys. And because he was fifteen and curious and had been writing Python scripts since he was twelve, he typed the only thing that made sense:
``` $ whoami ```
The screen flickered. The green text dissolved into static. Then, letter by letter, a new line assembled itself:
``` You are a teenager who writes code. That is enough. ```
The lights in the room went out. The terminal didn't. Alex felt the floor tilt—not physically, but in that way that reality sometimes does when it wants you to know it's been lying. When the world righted itself, Alex was no longer in Room 217. He was in a corridor of black stone, lit by torches that burned without smoke, and at the far end, a figure in a dark cloak was leaning against an arched doorway as if she'd been waiting there for a long time.
She had silver-streaked hair, a face that looked like it had been carved out of patience, and a pendant around her neck shaped like a small gear with letters running around its edge: `rustc`.
"About time," she said. "Most curious ones take at least another year to find that terminal."
What Is Systems Programming, and Why Should You Care?
Before Alex could ask the obvious question—*where am I, how do I get back, and why does it smell like a campfire in a cathedral*—Kira (as she introduced herself, without offering a last name) gestured down the corridor, and a wall of glass appeared, showing images that flickered like a fast-forwarded movie.
"Your phone," she said. "The operating system it's running right now was written mostly in a language called C, with bits of something called C++. The app you used to text your friend? That part is probably Java or Swift or Kotlin, which run *on top of* that C code. The web browser you're using to watch videos? Half of it is in C++. The chip in your graphics card? Designed using a language called Verilog, which is itself a kind of systems language. The car your parents drive? Hundreds of microcontrollers running C. The airplane that flies over this building right now? C, and a bit of assembly. The heart monitor in a hospital? C. The firmware in your microwave? C. The code that boots the International Space Station? You guessed it."
She let the images settle. Alex felt the kind of vertigo you feel when someone shows you the inside of a clock and you realize you've been living inside one your whole life.
"Systems programming," Kira said, "is the art of writing software that talks to hardware directly—or almost directly. Not the part of the software that decides which cat photo to show you. The part that decides *whether the cat photo can be shown to you at all*, because the operating system is functioning, the memory is allocated, the disk read didn't fail, the network packet didn't corrupt, and a thousand other invisible things went right."
A language like Python, which Alex knew well, is a high-level language. It's designed to feel natural to humans. You can write `print("hello")` and not worry about how the text actually makes it onto the screen. That's wonderful. It's also a tradeoff: somewhere, deep beneath Python, there is C code that is doing the messy, dangerous, *fast* work of actually talking to the operating system. Python is wearing a C costume. JavaScript, in your browser, is wearing a C++ costume.
"There is nothing wrong with high-level languages," Kira said, and Alex noticed she said it the way a parent says *there's nothing wrong with your school, we're just looking at other options*. "They let millions of people build useful things every day. But they cannot, on their own, build the *foundations* on which everything else runs. The layer that is closest to the metal, that has the most responsibility, that is the hardest to debug because a single mistake can crash a plane—that is the world of systems programming. And for most of computing history, that world has belonged to two languages, both of which are older than most of your parents."
The names arrived in glowing letters on the stone wall:
``` C (1972) C++ (1985) ```
"C was created by Dennis Ritchie at Bell Labs," Kira said. "It is one of the most influential languages ever written. C gave us Unix, which gave us Linux, which gives us most of the internet. C++ was created by Bjarne Stroustrup as 'C with classes.' It added object-oriented features to C and became the language of game engines, browsers, financial systems, and just about anything that needs to be both fast and large. They are spectacular tools. They are also, by modern standards, *unsafe* in a specific and important way."
She paused. Alex could tell she liked pausing.
"Here is the thing. When you write in C or C++, you, the programmer, are responsible for managing memory by hand. You tell the program: 'reserve me a chunk of memory to hold a number.' When you're done with the number, you must remember to tell the program: 'give that memory back.' If you forget, your program slowly leaks memory and eventually collapses. If you free it *too early* and then try to use it, you get a category of bug called *use-after-free*—you've just used something that doesn't belong to you anymore. If two parts of your program try to write to the same memory at the same time, you get a *data race*—the program produces wrong answers, sometimes, but not always, which is the worst kind of bug, because it can pass every test you have and still be broken."
A small projection appeared in the corridor, showing a cartoon character juggling two torches while riding a unicycle. The character kept dropping torches.
"These bugs are not theoretical. In 2014, a bug called Heartbleed in a piece of C software called OpenSSL let attackers read secret information from servers across the internet. In 2017, a use-after-free bug in Windows helped spread the WannaCry ransomware. In 2023, a memory-safety bug in a Linux tool called `libwebp` was used to compromise iPhones. The pattern is the same, again and again: a system written in C or C++ has a tiny mistake in how it manages memory, and that mistake becomes a door that someone walks through."
Alex thought of the apps on his phone, the games he played, the school-issued laptop. All of it, sitting on top of l