![]() |
| Guido : https://python-history.blogspot.com/ |
And the oracle:
| Go to the summary |
Python 1.x (1991 – mid-90s)
-
Initial release (1991): Guido van Rossum’s invention. Already had dynamic typing, exceptions, functions, modules, and high-level data types (lists, dicts, strings).
-
Big idea: readability and simplicity (“executable pseudocode”).
-
Earth-shaker: The language itself. At a time when scripting was Perl-dominated, Python’s clarity stood out.
Python 2.0 (2000)
Read more
-
List comprehensions → a concise, expressive way to build lists in one line. Hugely influenced by functional programming and later spread widely in other languages.
-
Garbage collection with cyclic references → no more manual memory juggling with ref cycles.
-
Earth-shaker: List comprehensions fundamentally changed idiomatic Python, making it more elegant and expressive.
Python 2.2 (2001)
-
New-style classes (unifying classes and types). Before,
class Foo: ...was distinct from built-in types likeint. This release made everything an object with a single inheritance model. -
Generators (via
yield). Revolutionized iteration — let functions produce sequences lazily. -
Earth-shaker: Generators. They made Python truly excellent for data streaming and iteration.
Python 2.7 (2010)
-
Last major 2.x release. Added dictionary comprehensions and
setliterals. -
Earth-shaker: not a feature, but end of life looming. This froze the world in a “2 vs 3” split for nearly a decade.
Python 3.0 (2008)
-
Unicode everywhere → strings became
str(Unicode), withbytesseparate. Made Python a first-class citizen for the modern, international internet. -
print() as a function instead of statement.
-
Removed many warts (like
<>, implicit int/long distinction). -
Earth-shaker: Unicode by default. It was painful, but essential for the web era.
Python 3.3 (2012)
-
yield from→ made composing generators much more natural. -
Virtual environments (
venv) → lightweight isolation of dependencies. -
Earth-shaker: venv. This made dependency management accessible to everyone, not just sysadmins.
Python 3.4 (2014)
-
asynciomodule → foundation for async/await concurrency. -
enum, pathlib modern conveniences.
-
Earth-shaker: asyncio. It opened Python to high-performance networking, microservices, and event-driven programming.
Python 3.5 (2015)
-
asyncandawaitkeywords baked into the language. No longer obscure callback soup — asynchronous code looked almost synchronous. -
Matrix multiplication operator
@(for NumPy users). -
Earth-shaker: async/await. This turned Python into a serious competitor for Node.js in async I/O.
Python 3.6 (2016)
-
F-strings (
f"Hello {name}"). A massive quality-of-life improvement for string formatting. So widely loved that it instantly became idiomatic. -
Underscores in numeric literals (1_000_000).
-
Earth-shaker: f-strings. Conciseness + readability = a feature devs never looked back from.
Python 3.7 (2018)
-
Data classes (
@dataclass). Removed boilerplate for simple classes. -
Context variables (for async).
-
Earth-shaker: dataclasses. They changed how Python code models data, especially in APIs and configs.
Python 3.8 (2019)
-
Walrus operator (
:=). Assignment inside expressions. -
Positional-only parameters.
-
Earth-shaker: walrus operator. Controversial but powerful (e.g. regex matches in
if, avoiding duplication).
Python 3.9 (2020)
-
Dictionary merge/update operators (
|,|=). -
New parser (PEG-based) → allows more flexible grammar in the future.
-
Earth-shaker: PEG parser. Invisible to most users, but opened the door for new syntax (like pattern matching).
Python 3.10 (2021)
-
Structural pattern matching (
match ... case). Brought modern algebraic data-type style dispatch to Python. -
Earth-shaker: pattern matching. A new paradigm for control flow, making Python more expressive for compilers, AST work, and config parsing.
Python 3.11 (2022)
-
Major speed boost (10–60% faster) via specializing adaptive interpreter.
-
Precise error locations in tracebacks.
-
Earth-shaker: performance. Suddenly Python wasn’t “slow by default” anymore — CPython itself got much faster.
Python 3.12 (2023)
-
Even more performance boosts, cleaner C API.
-
Type system improvements (e.g. generic types without
from __future__). -
Earth-shaker: types go mainstream. Type hints aren’t just annotations now — they’re actively shaping Python’s ecosystem.
Python 3.13 (2024)
-
No GIL preview builds (still experimental). Removing the Global Interpreter Lock would be epoch-making for multi-core scaling.
-
Earth-shaker: If no-GIL lands fully, true parallelism in CPython will change Python’s place in HPC and server workloads.
Summary Table of Earth-Shakers
| Version | Earth-shaking Feature | Why it mattered |
|---|---|---|
| 1.0 | The language itself | Readability over Perl/C |
| 2.0 | List comprehensions | Expressiveness |
| 2.2 | Generators | Lazy iteration |
| 3.0 | Unicode everywhere | Web-era ready |
| 3.3 | venv | Dependency mgmt for all |
| 3.4–3.5 | asyncio, async/await | High-perf networking |
| 3.6 | f-strings | Readability boost |
| 3.7 | Dataclasses | Boilerplate killer |
| 3.8 | Walrus operator | Concise expressions |
| 3.9 | PEG parser | Enables new syntax |
| 3.10 | Pattern matching | New control paradigm |
| 3.11 | Speedups | Python isn’t slow anymore |
| 3.13+ | No GIL (in progress) | True parallelism |

No comments:
Post a Comment