# Why there's so many programming languages
![[images/Why-theres-so-many-programming-languages.webp]]
**Creator:** Rick The Engineer ([@RickTheEngineer](https://www.youtube.com/@RickTheEngineer)) · **Published:** 2026-10-12 · **Length:** 2:28 (YouTube Short) · [Watch on YouTube](https://www.youtube.com/shorts/U6oBIm4ld5I)
> Caption source: YouTube's **auto-generated English captions**, fetched with **youtube-transcript-api** after yt-dlp hit HTTP 429 on two tries (default and android_vr clients). No TubeAlfred credits were used. The video has no description and no chapters, so the outline follows the narration. Screenshots come from the 1080×1920 stream.
> Format: a narrated, animated explainer. A cartoon engineer character stands beside numbered on-screen cards (archival photos, code snippets, language logos with year and origin) while a timeline along the bottom fills in each language's date.
## Outline
### 0:00 The question
- [0:00](https://www.youtube.com/shorts/U6oBIm4ld5I?t=0) Why are there so many programming languages? C, C++, Java, Python, JavaScript, Go, Rust, Haskell can all tell a computer what to do, so why not invent one language and use it for everything? The answer "has a lot to do with the history of computing."
![[images/Why-theres-so-many-programming-languages-t0002.webp]]
*Opening title card: "Why are there so many programming languages?"*
### 0:13 Machine code and assembly
- [0:13](https://www.youtube.com/shorts/U6oBIm4ld5I?t=13) Early computers were programmed in **machine code**, instructions written literally as numbers.
- [0:16](https://www.youtube.com/shorts/U6oBIm4ld5I?t=16) **Assembly** made those instructions easier for humans to write, but it was still extremely tedious, so engineers invented higher-level languages.
![[images/Why-theres-so-many-programming-languages-t0014.webp]]
*Card 02, Machine code: archival photo captioned "IBM 704 · NACA Langley, 1957 · NASA"*
### 0:22 Fortran and COBOL (1950s)
- [0:22](https://www.youtube.com/shorts/U6oBIm4ld5I?t=22) **Fortran** (card: "1957 · IBM") let scientists write math almost the way they'd write it on paper.
![[images/Why-theres-so-many-programming-languages-t0026.webp]]
*Card 05: Fortran, 1957, IBM, with a punched card holding a Fortran statement*
- [0:28](https://www.youtube.com/shorts/U6oBIm4ld5I?t=28) Around the same time, **COBOL** (card: 1959) was built to process huge amounts of business records: banks, payroll, accounting.
- [0:33](https://www.youtube.com/shorts/U6oBIm4ld5I?t=33) Already, two languages were solving completely different problems.
![[images/Why-theres-so-many-programming-languages-t0030.webp]]
*Card 06, COBOL: archival photo captioned "IBM record cards · Federal Records Center, Nov 1959 · NARA"*
### 0:34 C (1970s): power with responsibility
- [0:34](https://www.youtube.com/shorts/U6oBIm4ld5I?t=34) **C** (card: "1972 · Bell Labs") gave programmers low-level control while being far more portable than assembly. You could manage memory directly, work with pointers and build operating systems. **Unix** was famously rewritten largely in C.
![[images/Why-theres-so-many-programming-languages-t0038.webp]]
*Card 08, C: a "hello, world" program on a terminal captioned "DEC VT100 terminal · 1978"*
- [0:48](https://www.youtube.com/shorts/U6oBIm4ld5I?t=48) That power came with responsibility: forget to free memory or write past the end of a buffer, and your program crashes or gets hacked. So new languages explored different trade-offs.
### 0:56 C++ and Java
- [0:56](https://www.youtube.com/shorts/U6oBIm4ld5I?t=56) **C++** added classes and templates on top of C and became the language of game engines and graphics.
- [1:02](https://www.youtube.com/shorts/U6oBIm4ld5I?t=62) **Java** arrived in the 1990s promising "write once, run anywhere." Programs run on the **Java Virtual Machine**, so the same code works on any computer, and unused memory is cleaned up automatically through **garbage collection**.
![[images/Why-theres-so-many-programming-languages-t0068.webp]]
*Card 15: Java (card: 1995), "write once, run anywhere": Sum.java compiled by javac to Sum.class bytecode, running on Windows, Mac and Linux*
### 1:14 Python, JavaScript and Go
- [1:14](https://www.youtube.com/shorts/U6oBIm4ld5I?t=74) **Python** bet on simplicity and readability. It became huge for automation, data science and AI, but "it's not what you pick when raw speed matters most" (card: 1991; the animation shows the same 100,000,000-step loop taking 0.032 s in C vs 3.886 s in Python).
- [1:21](https://www.youtube.com/shorts/U6oBIm4ld5I?t=81) **JavaScript** (card: 1995) was created to make web pages interactive; then **Node.js** (card: 2009) brought it to servers too.
![[images/Why-theres-so-many-programming-languages-t0086.webp]]
*Card 17: JavaScript (1995) in a Netscape "Welcome to my page!" window, then Node.js (card: 2009)*
- [1:26](https://www.youtube.com/shorts/U6oBIm4ld5I?t=86) Google built **Go** for cloud software that handles thousands of tasks at once using lightweight threads called **goroutines**.
### 1:33 Rust and Haskell
- [1:33](https://www.youtube.com/shorts/U6oBIm4ld5I?t=93) **Rust** took a different path: no garbage collector. The compiler enforces **ownership** rules, so memory bugs are caught before the program ever runs, giving "C-level speed with far fewer crashes."
![[images/Why-theres-so-many-programming-languages-t0098.webp]]
*Card 19: Rust (card: "2015 · Mozilla"), no garbage collector, with an ownership-moves code example*
- [1:43](https://www.youtube.com/shorts/U6oBIm4ld5I?t=103) **Haskell** (card: 1990) explores a whole different style, built on pure functions and data that never changes.
### 1:47 Why not one perfect language?
- [1:47](https://www.youtube.com/shorts/U6oBIm4ld5I?t=107) Why not combine everything into one perfect language? Because every design choice is a trade-off: **control vs safety, simplicity vs power, automatic memory vs maximum speed**.
![[images/Why-theres-so-many-programming-languages-t0112.webp]]
*A "Language Setup" error dialog: every design choice is a trade-off*
### 1:56 Ecosystems
- [1:56](https://www.youtube.com/shorts/U6oBIm4ld5I?t=116) Another huge factor is **ecosystems**. Python dominates AI because of libraries like **PyTorch** and **NumPy**. JavaScript rules the web because browsers run it natively. C and C++ sit underneath most operating systems. Rust is spreading where speed and safety both matter.
### 2:10 The takeaway
- [2:10](https://www.youtube.com/shorts/U6oBIm4ld5I?t=130) The best language isn't the newest or the fastest. It's the one whose trade-offs and ecosystem fit your problem.
- [2:17](https://www.youtube.com/shorts/U6oBIm4ld5I?t=137) Languages didn't multiply because engineers couldn't agree on syntax. They multiplied because computing kept creating new problems, and each language was built to solve them in its own way.
![[images/Why-theres-so-many-programming-languages-t0142.webp]]
*Card 26, Problems: the timeline of languages built for new problems (Fortran 1957, COBOL 1959, C 1972, C++ 1985, Haskell 1990, …)*
## Key takeaways
- Every language reflects design trade-offs: control vs safety, simplicity vs power, automatic memory management vs maximum speed.
- Ecosystems (libraries, platforms, native runtimes) often decide which language wins a domain as much as the language design does.
- Pick the language whose trade-offs and ecosystem fit the problem, not the newest or fastest one.
## Things mentioned
| Item | What the video says | On-screen card |
|---|---|---|
| Machine code | Instructions written as numbers | IBM 704 photo, NACA Langley, 1957 (NASA) |
| Assembly | Easier for humans, still extremely tedious | — |
| Fortran | Lets scientists write math almost like on paper | 1957 · IBM |
| COBOL | Built for huge volumes of business records | 1959 |
| C | Low-level control, portable, pointers and manual memory; Unix rewritten largely in it | 1972 · Bell Labs |
| Unix | Famously rewritten largely in C | — |
| C++ | Classes and templates on top of C; game engines and graphics | 1985 (timeline) |
| Java / JVM | Write once, run anywhere; garbage collection | 1995 |
| Python | Simplicity and readability; automation, data science, AI | 1991 |
| PyTorch, NumPy | Libraries behind Python's dominance in AI | — |
| JavaScript | Created to make web pages interactive; runs natively in browsers | 1995 (Netscape window) |
| Node.js | Brought JavaScript to servers | 2009 |
| Go / goroutines | Google's language for highly concurrent cloud software | — |
| Rust | No GC; compiler-enforced ownership catches memory bugs before runtime | 2015 · Mozilla |
| Haskell | Pure functions and immutable data | 1990 |
| DEC VT100 | Terminal shown in the C card (photo dated 1978) | — |
## Background on the languages' creators
*Context added for this note; the video itself names no people.*
- **Fortran**: developed at IBM by a team led by **John Backus**.
- **COBOL**: designed by the CODASYL committee in 1959, drawing heavily on **Grace Hopper**'s FLOW-MATIC.
- **C**: created by **Dennis Ritchie** at Bell Labs; Unix (by Ken Thompson and Dennis Ritchie) was rewritten in C in 1973.
- **C++**: created by **Bjarne Stroustrup** at Bell Labs; first commercial release 1985.
- **Java**: created by **James Gosling** at Sun Microsystems; released 1995.
- **Python**: created by **Guido van Rossum**; first released 1991.
- **JavaScript**: created by **Brendan Eich** at Netscape in 1995. **Node.js** was created by **Ryan Dahl** in 2009.
- **Go**: designed at Google by Robert Griesemer, Rob Pike and Ken Thompson; announced 2009.
- **Rust**: started by **Graydon Hoare**, later sponsored by Mozilla; 1.0 released 2015.
- **Haskell**: designed by a committee of researchers; Haskell 1.0 appeared in 1990.
## About the creator
**Rick The Engineer** ([@RickTheEngineer](https://www.youtube.com/@RickTheEngineer)) publishes short animated computing explainers narrated over a cartoon engineer character. The channel had about 6,800 subscribers when this note was written. The video has no description, and the channel doesn't identify the person behind it.