History of Python
Discover who created Python, why it was named after a comedy troupe, and how it evolved from version 1.0 into the language powering today's biggest tech companies.
Introduction
Every programming language has a story behind it, and Python's story is full of surprisingly human decisions — a bored programmer during a holiday break, a beloved comedy show, and a community that had to make one of the hardest choices in software history: breaking backward compatibility on purpose.
Understanding where Python came from helps you understand why it looks and behaves the way it does today. This lesson walks through Python's origin, its major version milestones, and how it is governed as an open-source project used by millions of developers.
- Who created Python and when.
- Why the language is named Python.
- What changed between Python 2 and Python 3, and why.
- How Python continues to evolve with new features.
- Who governs Python's future today.
Who Created Python?
Python was created by Guido van Rossum, a Dutch programmer, starting in December 1989. He began the project during his Christmas holidays at Centrum Wiskunde & Informatica (CWI) in the Netherlands, looking for a hobby project to keep him occupied over the break.
Guido wanted to design a successor to a language called ABC that fixed many of its shortcomings, while keeping the things that made ABC easy to read. The first official public release, Python 0.9.0, came out in February 1991, and Python 1.0 followed in January 1994.
Guido van Rossum
Dutch programmer who designed and wrote the original Python interpreter.
A Holiday Project
Python began as a way to stay productive during the December 1989 holidays.
CWI, Netherlands
The research institute where Python was originally developed.
First Released
Python 0.9.0 was released to the public in February 1991.
Why Is It Called Python?
A very common misconception is that Python is named after the snake. In reality, Guido van Rossum named the language after "Monty Python's Flying Circus," a British sketch comedy show he enjoyed. He wanted a name that was short, unique, and slightly mysterious.
This is also why Python's official documentation and community culture have a playful tone, and why the snake logo came later — it was adopted because of the name's double meaning, not the other way around.
- Python is named after a comedy show, not the snake.
- Guido was reading scripts from "Monty Python's Flying Circus" while designing the language.
- The word "spam" in programming examples worldwide comes from a famous Monty Python sketch.
The Early Years
After Python 1.0 in 1994, the language grew steadily as more developers adopted it for scripting, system administration, and early web tools. Python 2.0 was released in October 2000, introducing important features like list comprehensions and a cycle-detecting garbage collector.
Python 2 became extremely popular throughout the 2000s and gained a large ecosystem of libraries. However, as the language matured, its designers realized that some early design decisions were holding Python back from being as clean and consistent as it could be.
Python 1.0 (1994)
The first official stable release, including features like lambda, map, filter, and reduce.
Python 2.0 (2000)
Added list comprehensions, garbage collection, and Unicode support improvements.
Growing Ecosystem
Libraries and frameworks began to flourish, cementing Python as a serious general-purpose language.
Python 2 vs Python 3
Python 3.0 was released in December 2008. It was deliberately designed to fix inconsistencies in Python 2, even though this meant breaking backward compatibility — old Python 2 code would not always run correctly on Python 3 without changes.
The most well-known change was how print worked: in Python 2, print was a statement (print "Hello"), while in Python 3 it became a proper function (print("Hello")). Python 3 also made text handling more consistent by treating strings as Unicode by default.
Because so much existing code and so many libraries depended on Python 2, the transition took over a decade. To give the community time to migrate, Python 2 continued to receive support until January 1, 2020, when it officially reached end-of-life and stopped receiving updates, including security fixes.
print Statement → Function
Python 2 used print "text"; Python 3 requires print("text").
Unicode by Default
Python 3 treats all strings as Unicode text, avoiding many encoding bugs from Python 2.
True Division
In Python 3, 5 / 2 gives 2.5 instead of Python 2's integer division result of 2.
Sunset in 2020
Python 2 officially reached end-of-life on January 1, 2020.
Example: A Python 2 vs 3 Difference
The clearest way to see the shift is division behavior. In Python 3, dividing two integers with / always produces a precise decimal result.
result = 5 / 2
print(result)2.5In old Python 2 code, the same expression would have produced 2, silently discarding the decimal portion — a common source of subtle bugs that Python 3 fixed by design.
Python 3 Keeps Evolving
Since 2008, Python 3 has continued to receive a new minor version roughly every year, each adding features while staying backward-compatible within the Python 3 line. This steady, predictable release cycle is one reason Python has remained stable and trustworthy for large projects.
One of the most notable recent additions was structural pattern matching, introduced in Python 3.10 (2021), which added a powerful match statement similar to switch statements in other languages, but far more flexible.
f-strings (3.6)
Introduced formatted string literals for cleaner, faster text formatting.
Type Hints (3.5+)
Optional type annotations to help catch bugs and improve editor support.
match Statement (3.10)
Structural pattern matching for cleaner conditional logic.
Performance Gains
Recent versions (3.11, 3.12) focused heavily on interpreter speed improvements.
Example: Structural Pattern Matching
The match statement, added in Python 3.10, lets you compare a value against several patterns in a readable way.
day = 6
match day:
case 6 | 7:
print("Weekend")
case _:
print("Weekday")WeekendThis example checks whether day matches 6 or 7 (the weekend). The underscore _ acts as a catch-all, similar to "default" in other languages' switch statements.
How Python Is Governed
Python is not owned by a single company. It is maintained by the Python Software Foundation (PSF), a non-profit organization that manages the language's resources, funding, and community events like PyCon.
Changes to the language itself go through Python Enhancement Proposals (PEPs) — formal design documents that describe a proposed feature, its rationale, and technical details, which the community reviews and debates before acceptance.
For most of Python's history, Guido van Rossum held the informal title "Benevolent Dictator For Life" (BDFL), meaning he had final say on major decisions. In July 2018, he stepped down from this role, and Python now uses an elected steering council to guide its future.
Python Software Foundation
The non-profit organization that supports and promotes the Python community.
PEPs
Python Enhancement Proposals — the formal process for proposing new language features.
BDFL (until 2018)
Guido van Rossum's former role as the final decision-maker for the language.
Steering Council
An elected group that has guided Python's direction since 2019.
Python Today
Today, Python is consistently ranked among the top programming languages in the world by surveys like the TIOBE Index and Stack Overflow's developer survey. It is the language of choice for artificial intelligence, data science, automation, and much more.
- Google uses Python extensively for internal tools and services.
- NASA uses Python for scientific computing and mission tools.
- Instagram runs one of the largest Python-based web backends in the world.
- Netflix uses Python for automation, data analysis, and backend tooling.
- Countless universities teach Python as a first programming language.
Common Mistakes
- Writing or copying Python 2 code (print "text") and expecting it to run in Python 3.
- Thinking Python is named after the snake — it is named after the comedy show.
- Assuming Python has a single owner or company controlling it.
- Ignoring that Python 2 is unsupported and unsafe for new projects.
Best Practices
- Always use Python 3 for new projects — Python 2 is no longer maintained.
- Check which Python version a tutorial or library targets before following it.
- Read PEP 8 eventually — it is the style guide the whole community follows.
- Keep your Python version reasonably up to date to get performance and security improvements.
Frequently Asked Questions
Is Python named after the snake?
No. Python is named after the British comedy show "Monty Python's Flying Circus." The snake logo and name association came later.
Why did Python 3 break compatibility with Python 2?
Python 3 fixed several inconsistent design decisions from Python 2, such as print being a statement instead of a function and inconsistent text handling. These fixes required breaking changes.
Is Python 2 still used anywhere?
Some legacy systems still run Python 2, but it is unsupported and unsafe for new work since it stopped receiving updates on January 1, 2020.
Who controls Python's development now?
An elected Python Steering Council guides the language's development, supported by the Python Software Foundation, replacing Guido van Rossum's former BDFL role.
What is a PEP?
A Python Enhancement Proposal (PEP) is a formal document proposing a new feature or change to Python, reviewed and discussed by the community before being accepted or rejected.
Key Takeaways
- Python was created by Guido van Rossum, starting in December 1989.
- Python is named after "Monty Python's Flying Circus," not the snake.
- Python 3 (2008) intentionally broke compatibility with Python 2 to fix design flaws.
- Python 2 reached end-of-life on January 1, 2020.
- Python is now governed by an elected steering council and the Python Software Foundation.
Summary
Python's history spans more than three decades, from a holiday hobby project to one of the most widely used programming languages on Earth. Its evolution from Python 1 through the Python 2-to-3 transition and into today's fast-moving Python 3.x releases shows a language that continues to improve while staying true to its original goal: readability.
In this lesson, you learned who created Python, why it has that name, how the Python 2 vs 3 transition unfolded, and how the language is governed today. Next, you will install Python on your own computer and get ready to write real code.
- You know who created Python and why it has its name.
- You understand the Python 2 vs Python 3 transition.
- You know how Python is governed today.
- You are ready to install Python on your computer.