A brief history of programming...
Chapters10
Introduces the idea of binary as the foundation of computing, with on/off states and the early perception of its usefulness.
A brisk, entertaining tour from binary beginnings to modern AI-assisted coding, celebrating how programming kept evolving with new ideas and tools.
Summary
Fireship’s playful history lesson traces the arc from bits and vacuum tubes to high-level languages and the modern AI-powered coding era. The video blends humor with rapid-fire facts, naming pioneers like Grace Hopper, Dennis Ritchie, and Brendan Eich while highlighting key milestones such as assembly language, Lisp’s code-as-data superpower, and the birth of Unix. It tracking the shift from machine-focused thinking to readable languages like Python and Java, and then to portable, cross-platform environments—culminating in JavaScript’s browser dominance and the rise of virtual machines. The host explains how Go, Rust, and TypeScript addressed efficiency and safety, and how the “write once, run anywhere” dream evolved into today’s polyglot ecosystems. The narrative then pivots to modern tooling, noting how autocomplete, linters, and AI copilots reshape how we write and think about code. A sponsorship plug for JetBrains’ Juny AI coding agent follows, illustrating how contemporary IDEs incorporate context-aware assistance. The video closes by affirming that programming didn’t die; it transformed the keyboard and the way we think, inviting viewers to try Juny for free. It’s a fast, opinionated romp through programming history that’s as much about ideas as it is about syntax.
Key Takeaways
- Binary foundations and eight-bit bytes enabled the first practical machines and set the stage for modern encoding (byte as eight bits).
- Grace Hopper’s compiler idea transformed human-readable code into machine executables, birthing high-level programming concepts.
- Lisp introduced code-as-data and garbage collection, expanding what computers could do with memory management.
- C, Unix, and the command-line era popularized portable, efficient systems programming and set the tone for software architecture.
- Java popularized write-once, run-anywhere via the Java Virtual Machine, influencing cross-platform development.
- JavaScript emerged in 10 days, became ubiquitous across browsers, servers, and devices, driving a web-scale ecosystem.
- Modern languages and tools (TypeScript, Go, Rust, Kotlin, etc.) progressively fixed safety and practicality gaps in earlier designs.
Who Is This For?
Essential viewing for developers interested in the grand narrative of programming—and how language design choices and tooling shape today’s workflows. Great for beginners who want context and seasoned coders who enjoy a brisk, entertaining retelling.
Notable Quotes
"And now people start arranging ones and zeros all day to make machines do math. And they realize this sucks."
—Conveys the early frustration that leads to higher-level language ideas.
"A compiler is like a translator. You give it readable code, it thinks really hard, then gives you a new file."
—Explains the compiler’s role in turning human-friendly code into machine code.
"What if computers could understand something like English?"
—Marks Grace Hopper’s pivotal insight that led to compiler-driven programming.
"Dennis invents C. The C is fast. C is powerful."
—Hits the impact of C on systems programming and Unix.
"JavaScript in 10 days to make buttons animate in the browser. It was supposed to be small."
—Highlights the accidental ubiquity and speed of JavaScript’s rise.
Questions This Video Answers
- How did Lisp pioneer garbage collection and code-as-data concepts?
- Why was the Unix philosophy so influential on modern software design?
- What is the difference between a compiler and an interpreter, historically and practically?
- How did the Java Virtual Machine enable cross-platform development?
- What caused JavaScript to explode in popularity despite early skepticism?
Full Transcript
In the beginning, there was nothing. Then someone invented one. And then someone else invented zero. And everyone said, "Wow, this is useless." Then about 20,000 years later, electricity shows up. Electricity likes on and off. On is one, off is zero. And suddenly we're programming stuff. They say, "What if we combine 1 and zero?" So they do. 1 0 1 0 1 0 1 0. Nobody knows what it means, but it feels important. 1936 rolls around. This guy defines what computable even means. He goes on to crack the Nazi Enigma machine to save the war for Britain, but he's way too gay, so they throw him in prison.
The war is over, and people realize computing machines are pretty useful. They use vacuum tubes and punch cards to represent ones and zeros. They call each number a bit or a binary number. It's how computers think. They don't understand words, they understand voltage. And then someone had the idea, what if we take eight bits to represent a regular number? Everyone agrees. And now we can count to 255. Then this guy says, dudes, let's call this eight pack of bits a bite. a bite with the Y to make it sound futuristic and cool. And now people start arranging ones and zeros all day to make machines do math.
And they realize this sucks. So this woman shows up and says, "Absolutely not." And invents assembly language. Instead of writing 101 1 0 0, you write. It still sucks, but now it sucks less. Then another woman shows up and completely changes everything. Grace says, "What if computers could understand something like English?" Everyone laughs. They tell her to go make a sandwich. So she does and calls it a compiler. A compiler is like a translator. You give it readable code, it thinks really hard, then gives you a new file. That file is machine code, a bunch of ones and zeros again.
The computer loves it. You never look at it again. And this leads to the first highle programming languages. Before trans for scientists, the cobalt for businesses and government that somehow half of global finance still runs on cobalt. No one knows how. No one touches it. Meanwhile, this weird guy creates this weird language called lisp. Everything is a list. Code is data. Data is code. It doesn't even need a compiler. Instead, it uses an interpreter that runs code line by line on the fly until the code stops working. Wild stuff. And it also unlocks a new superpower called garbage collection, where the programmer no longer even needs to think about memory.
After everyone does LSD in the late '60s, things start to get weird. In the early '7s, Dystra says, "Go-to statements are trash and everybody agrees that we need readable, maintainable code." Dennis invents C. The C is fast. C is powerful. The C lets you shoot yourself in the foot with military precision. But C lets you talk directly to memory, which means power. Dennis has a buddy named Ken. Together, they use C to make Unix. It's an operating system. It's not the first one, but it's the only one that still matters. Instead of one giant machine, we get small programs.
They each do one thing well and pipe data to each other like CD to change directories and ls to list out its contents. The idea infects everything and now the command line becomes religion among programmers. Everything was perfect. Then this guy comes along and says, "What if C," but with more abstraction. And so he adds a plus to it. And then another plus. And now all of a sudden we have objects, classes, inheritance, and arguments that never end. Programmers love complexity. So C++ takes over the world. Games, browsers, databases, engines are all built with C++ even today, and people still can't stop arguing about it.
Now the year is 1982. Every nerd owns a Commodore 64 while learning how to code in basic while listening to Thriller on a record player. Soon Turbo Pascal shows up. Like C, it has a compiler but also a full integrated development environment. It sells like Thriller, but many new programming languages are hitting the scene. ADA is created for the military, Erlang for the phone system, Mat Lab, Pearl, Objective C, and more. Oh, and don't forget Small Talk, one of the first pure objectoriented languages where everything is an object. Everybody forgets about it, but everybody copies it.
Then the '9s happen and three philosophies collide. Guido says code should read like thoughts. is so we get Python where readability matters and indentation is law. But James says program should run everywhere is so we get Java where you write once and debug everywhere. Java doesn't just ship a language but also a revolutionary virtual machine which is like a fake computer that runs in the real computer and compiles Java to bite code instead of machine code. It's basically cheating to get Java to run everywhere. But then Brendan comes along and invents JavaScript in 10 days to make buttons animate in the browser.
It was supposed to be small. It was supposed to be temporary. It now runs servers, phones, databases, and spacecraft. No one planned this. No one wanted this. Then the worldwide web happened. The experts said it would be no more important than the fax machine. But billions of websites were created anyway. Most of them with PHP. Nobody likes to talk about PHP, only JavaScript frameworks. Wars were fought over JavaScript frameworks like jQuery, Moo Tools, React, Angular, View, Spelt, and thousands more. Many people died from unrelated causes. But they didn't die for nothing. Throughout the 2000s, languages became cleaner and more elegant.
The Swift fixed Objective C. Cotlin fixed Java. The TypeScript fixed JavaScript. Go fix C. Rust fix C. No, Zigfix C. JK C is still the best. In 2020, the world is beautiful and perfect. But programmers are cool, programmers are rich, and programmers are highly desirable mates. Even Fire was making good videos without any AI slop. But then the asteroid hit. Someone says, "What if we can get statistics to write code?" But first it's autocomplete, then llinters, then refactors, then whole functions, then entire full stack applications. And suddenly everybody says programming is dead. But here's the secret.
Typing code was never the job. The job was thinking. Thinking with your brain. But programming isn't dead. It just keeps changing the keyboard and it always will. And one tool that's changed the way I use the keyboard comes from Jet Brains, the sponsor of today's video. Their AI coding agent, Juny, is built directly into the Jet Brains IDE, which lets it understand the structure and history of your entire codebase. I've been using Juny on my own side project to build a custom voice recorder. And although it may be a little bit slower than some other codegen tools, it's much better at context and accuracy, especially when working with this complex waveform data.
I also appreciate the built-in AI chat where you can ask deeper questions about the code it's writing and the logic behind it. Juny just added support for Grock, Gemini, and all the other major coding models. And you can try it out today for free using the link below. to thanks for watching and I will see you in the next
More from Fireship
Get daily recaps from
Fireship
AI-powered summaries delivered to your inbox. Save hours every week while staying fully informed.









