December 1989, Amsterdam, Netherlands.
The Christmas holiday began. Most people chose to spend time with family, travel, or rest at home.
But a programmer sat at his computer, starting to write code.
He wasn’t working—he was doing a side project to pass the boring holiday.
He wanted to design a new programming language. This language should be:
- Clean and elegant, easy to read
- Powerful, able to do anything
- Suitable for beginners and experts alike
He began typing.
This programmer was Guido van Rossum. He was creating Python—later one of the world’s most popular programming languages.
Why Python?#
You might wonder: Why is this language called Python? Does it have anything to do with snakes?
Actually, Python’s name comes from Monty Python—a British comedy group.
Guido was a Monty Python fan. He thought programming should be fun, not serious and boring. Naming a programming language after a comedy group reflected this spirit.
Python’s documentation and tutorials also frequently feature Monty Python references. For example, example code often uses variable names like spam and eggs—references from Monty Python sketches.
Although Python’s logo features two snakes, Guido preferred comedy over reptiles.
Python’s Birth#
Guido was working at the Netherlands’ National Research Institute for Mathematics and Computer Science (CWI).
He participated in a language project called ABC. ABC’s design goal was: Let non-programmers program too. ABC was clean and easy to learn but had limited functionality and didn’t succeed.
Guido learned many design principles from ABC. He wanted to create a new language that maintained ABC’s simplicity while adding more features.
During the 1989 Christmas holiday, he began writing Python’s interpreter. In 1991, he released Python 0.9.0.
Python was initially just Guido’s side project. He didn’t expect it to change the world.
Python’s Design Philosophy#
Python’s design philosophy can be summarized in one sentence: Simple is better than complex; readability counts.
Guido wrote an article called “The Zen of Python,” summarizing Python’s design principles:
Beautiful is better than ugly Explicit is better than implicit Simple is better than complex Complex is better than complicated Flat is better than nested Sparse is better than dense Readability counts
These principles guide Python’s design. Python code looks like pseudocode—close to natural language, easy to understand.
For example, calculating the sum of 1 to 100:
total = sum(range(1, 101))Compared to C:
int total = 0;
for (int i = 1; i <= 100; i++) {
total += i;
}Python is more concise and readable.
Python’s Development#
Python grew slowly in its early days. It was just Guido’s side project with no commercial support.
In 1994, Python 1.0 was released, adding lambda, map, filter, and other functional programming features.
In 2000, Python 2.0 was released, adding list comprehensions and garbage collection.
In 2008, Python 3.0 was released. This was a major update, incompatible with Python 2.
Python 3 fixed many design flaws but also brought migration issues. Many projects were reluctant to migrate to Python 3, causing Python 2 and Python 3 to coexist for a long time.
It wasn’t until 2020 that Python 2 officially stopped support.
Python’s Rise#
Python was initially used mainly for system administration and scripting. It was simple and easy to learn, suitable for rapid development.
But Python’s real rise came in two areas:
First, Data Science.
In the 2010s, data science began emerging. Python had rich data processing libraries:
- NumPy: Numerical computing
- Pandas: Data analysis
- Matplotlib: Data visualization
- Scikit-learn: Machine learning
These libraries made Python the first choice for data scientists.
Second, Web Development.
Python had powerful web frameworks:
- Django: Full-featured framework, suitable for large projects
- Flask: Lightweight framework, flexible and extensible
Instagram, Pinterest, Dropbox, and other companies use Python for backend development.
Python and AI#
In the late 2010s, deep learning emerged. Python became the mainstream language for AI.
Key frameworks are all Python:
- TensorFlow: Deep learning framework developed by Google
- PyTorch: Deep learning framework developed by Facebook
- Keras: High-level neural network API
Why did AI choose Python?
First, simple and easy to learn. AI researchers aren’t necessarily programming experts; Python lowers the barrier.
Second, rich libraries. NumPy and Pandas provide data processing foundations; AI frameworks can focus on models.
Third, glue language. Python can call C/C++ code; AI frameworks use C++ for high-performance backends while Python provides easy-to-use interfaces.
Today, if you want to learn AI, Python is a must-learn language.
Python’s Popularity#
Python has become one of the world’s most popular programming languages.
Python frequently ranks at the top in TIOBE Index, Stack Overflow surveys, and GitHub project counts.
Reasons for Python’s popularity:
Easy to start: Clean syntax, suitable for beginners. Many universities use Python as an introductory programming language.
Powerful: From web development to data science, from automation scripts to AI, Python can do almost anything.
Rich ecosystem: PyPI (Python Package Index) has over 400,000 third-party libraries; almost any need has a ready-made solution.
Active community: The Python community is friendly and inclusive; beginners can easily get help.
Guido’s Story#
Guido long served as Python’s “Benevolent Dictator For Life” (BDFL)—he had final say but usually listened to the community.
In 2018, due to community controversy over a language feature, Guido announced stepping down as BDFL. He said: “I’m tired and need a break.”
The Python community formed a steering council for collective decision-making on language development.
Guido now works at Microsoft, continuing to participate in Python development. He said: “Python’s success exceeded my imagination. I just wanted to create a language I liked; I didn’t expect it to change the world.”
Python’s Limitations#
Python isn’t a perfect language.
Performance issues: Python is an interpreted language, slower than compiled languages. Although C extensions can accelerate, the core remains Python.
Mobile development: Python has poor support for mobile platforms (iOS, Android), not suitable for mobile app development.
Concurrent programming: Python’s Global Interpreter Lock (GIL) limits multi-threading performance.
But in most scenarios, Python’s advantages far outweigh its disadvantages. Development efficiency matters more than runtime efficiency.
Next Step: The Open Source Movement#
Python is open-source software. Anyone can view the source code, modify, and distribute it.
The open source movement changed the software industry. Linux, Apache, Firefox, Python… open-source software is everywhere.
Tomorrow, we’ll discuss the open source movement—how Linux challenged Microsoft, and how open source changed the world.
Today’s Key Concepts#
Interpreted Language Code doesn’t need compilation; executed line by line by an interpreter. Python, JavaScript, and Ruby are interpreted languages. Interpreted languages have high development efficiency but slower execution than compiled languages.
The Zen of Python
Python’s design philosophy, emphasizing simplicity, readability, and practicality. Type import this in the Python interpreter to see the full text. “Beautiful is better than ugly, simple is better than complex” is the core concept.
Glue Language A language that can “glue” code from different languages together. Python can call C/C++ libraries and is often used to connect high-performance low-level code with high-level application logic.
Discussion Questions#
- Python’s design philosophy emphasizes “readability counts.” Do you think code readability or runtime efficiency is more important?
- Python became the mainstream language for the AI era. Do you think this was accidental or inevitable?
Tomorrow’s Preview: The Power of Open Source—how did Linux go from one person’s side project to the cornerstone of the software world?
