Python
Scripting· alive, actively evolving· since 1991 · Guido van Rossum
General-purpose language for scripts, automation, web backends and data analysis.
Draft from 2026-10-30, not yet checked claim by claim against its sources. Help verify it.
Born from
In December 1989 Guido van Rossum, a programmer on the Amoeba distributed operating system at CWI, started a hobby project to fill the week around Christmas. Amoeba needed a scripting language, and he wanted an interpreted language for writing and testing its administration scripts. He drew on ABC, a language he had worked on that was intended for non-technical users.
What it trades away
Cost: The global interpreter lock stops threads from running Python code at the same time, so CPU-heavy work needs processes or C extensions.
Where it fits
| Slot | Fit | |
|---|---|---|
| scripts | ●●● | The default language for system administration and automation scripts. |
| data | ●●● | NumPy and the scientific stack built on it. |
| server | ●●● | Django and Flask are the common web frameworks. |
| cli | ●●○ | |
| systems | ●○○ | CPython itself is written in C. |
| mobile | ●○○ | |
| browser | ○○○ | Browsers run JavaScript, not Python. |
Why it exists
In December 1989 Guido van Rossum, a programmer on the Amoeba distributed operating system at CWI, started a hobby project to fill the week around Christmas (Guido’s foreword to Programming Python). Amoeba needed a scripting language (Artima, The Making of Python), and he wanted an interpreted language for writing and testing its administration scripts (Linux Journal interview). He drew on ABC, a language he had worked on, which was intended for non-technical users. The first public release, version 0.9.0, went to the alt.sources newsgroup in February 1991 (Guido’s Python timeline).
What it trades away
Python code is short and readable, and that comes at a cost in speed and parallelism. CPython, the reference implementation, has a global interpreter lock that stops threads from running Python code at the same time (PEP 703). CPU-heavy work therefore needs separate processes or C extensions. Dynamic typing has its own cost: type hints are optional and checked by external tools, so large codebases lean on those tools and on tests. The migration was slow too. Python 3.0 arrived in 2008, and Python 2 kept receiving support until January 1, 2020 (python.org).
Where it won
Python won in scripting and data work. Dropbox’s client had more than one million lines of Python logic, and in 2019 the company published how it moved that code to Python 3 (Dropbox Tech). NumPy calls itself the fundamental package for scientific computing with Python (NumPy). In the 2025 Stack Overflow survey, 57.9 % of respondents used Python (Stack Overflow). It never won the browser. Browsers run JavaScript, which 98.9 % of websites use on the client side (W3Techs).
Named wins
- Dropbox published how it moved over one million lines of Python from Python 2 to Python 3 (2019) source
- NumPy, the fundamental package for scientific computing with Python source
Evolution
Reacts to: abc, C, modula-3
Weigh it against: JavaScript, Go, r
Timeline
- 1989Guido van Rossum starts Python as a hobby project in the week around Christmas source
- 1991Python 0.9.0 is released to the alt.sources newsgroup in February source
- 2000Python 2.0 is released on October 16 source
- 2008Python 3.0 is released on December 3 source
- 2020Python 2 reaches end of life on January 1 source
- 2023PEP 703, Making the Global Interpreter Lock Optional in CPython, is accepted source
Links
Sources
- https://www.python.org/doc/essays/foreword/
- https://www.artima.com/articles/the-making-of-python
- https://www.linuxjournal.com/node/2959
- https://python-history.blogspot.com/2009/01/brief-timeline-of-python.html
- https://www.python.org/doc/sunset-python-2/
- https://peps.python.org/pep-0703/
- https://dropbox.tech/application/incrementally-migrating-over-one-million-lines-of-code-from-python-2-to-python-3
- https://numpy.org/
- https://survey.stackoverflow.co/2025/technology/
- https://w3techs.com/technologies/details/cp-javascript/
Unverified draft, 2026-10-30.Edit the facts · edit the story · JSON · Markdown