00.1 - Why Python? History & Ecosystem
What is Python?
Python is a high-level, interpreted, general-purpose programming language that emphasizes code readability and simplicity.
"Python is an experiment in how much freedom programmers need. Too much freedom and nobody can read anyone else's code; too little and expressiveness is endangered." — Guido van Rossum, creator of Python
Python was created by Guido van Rossum and first released in 1991. The name comes from the British comedy group Monty Python's Flying Circus — not the snake.
Python vs. Other Languages
| Feature | Python | Java | C++ | JavaScript |
|---|---|---|---|---|
| Syntax | Minimal, readable | Verbose | Complex | Moderate |
| Typing | Dynamic | Static | Static | Dynamic |
| Speed | Interpreted (slower) | Compiled (fast) | Compiled (fastest) | Interpreted |
| Learning curve | Very low | Moderate | High | Low-Moderate |
| Main use | Data, scripting, web | Enterprise, Android | Systems, games | Frontend, Node |
| Package ecosystem | PyPI (500k+ packages) | Maven | vcpkg | npm |
┌──────────────────────────────────────────────────────────────┐
│ Language Spectrum │
│ │
│ Low-level High-level │
│ ┌────────┬──────────┬────────────┬───────────┬──────────┐ │
│ │ C/C++ │ Rust │ Java │ JavaScript│ Python │ │
│ │ (fast) │ (safe) │(enterprise)│ (web) │(readable)│ │
│ └────────┴──────────┴────────────┴───────────┴──────────┘ │
│ │
│ Hardware control ◄─────────────────► Developer productivity │
└──────────────────────────────────────────────────────────────┘
Python Versions: 2 vs 3
Python 2 reached end-of-life on January 1, 2020. All new code must use Python 3.
| Python 2 | Python 3 | |
|---|---|---|
| Status | Dead (EOL 2020) | Current (3.11+) |
print "hello" | print("hello") | |
| division | 5 / 2 = 2 (integer) | 5 / 2 = 2.5 (float) |
| Unicode | ASCII default | Unicode default |
| f-strings | Not available | Available (3.6+) |
Always use Python 3. This course uses Python 3.10+.
Where is Python Used?
Python's Key Design Principles
Python follows the Zen of Python (PEP 20). The most important rules:
| Principle | Meaning |
|---|---|
| Beautiful is better than ugly | Write clean, readable code |
| Explicit is better than implicit | Be clear about what you're doing |
| Simple is better than complex | Avoid over-engineering |
| Readability counts | Code is read more than it's written |
| There should be one obvious way | Follow conventions (PEP 8) |
You can see the full Zen by running import this in Python.
import this
# The Zen of Python, by Tim Peters
# Beautiful is better than ugly.
# Explicit is better than implicit.
# Simple is better than complex.
# ...
Python Popularity
Python has been the #1 most popular programming language on the TIOBE Index since 2021. Key reasons:
- Low barrier to entry — readable syntax, no boilerplate
- Versatility — one language for scripts, web apps, ML, automation
- Enormous ecosystem — PyPI has over 500,000 packages
- Community — millions of developers, tutorials, Stack Overflow answers
- Industry adoption — Google, Netflix, Spotify, NASA, Instagram all use Python
Key Vocabulary
| Term | Definition |
|---|---|
| Interpreted | Code is executed line by line at runtime, not pre-compiled |
| Dynamic typing | Variable types are determined at runtime, not declared |
| PEP | Python Enhancement Proposal — the official standard for Python changes |
| PEP 8 | The Python style guide: naming conventions, spacing, imports |
| REPL | Read-Eval-Print Loop — interactive Python shell (python3) |
| CPython | The official Python implementation, written in C |
| PyPI | Python Package Index — the official repository for Python packages |
| pip | Package Installer for Python — pip install flask |
Summary
- Python was created in 1991 by Guido van Rossum and is named after Monty Python
- Python 3 is the only version to use — Python 2 is dead since 2020
- Python is dynamically typed, interpreted, and emphasizes readability
- It dominates Data Science, Machine Learning, automation, and web backends
- The Zen of Python guides idiomatic code: simple, explicit, readable
📄️ 00.1 - Why Python?
Understand Python's origins, what makes it unique, and where it fits in today's technology landscape
📄️ 00.2 - Setup Your Environment
Install Python 3, configure VS Code with extensions, understand the REPL, and create your first script
📄️ Lab - Module 00
Install Python 3, configure VS Code, use the REPL, and write an interactive CLI script
📄️ Quiz - Module 00
30 interactive questions to validate your understanding of Python history, setup, and ecosystem