# 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.