Python
A high-level, readable, general-purpose programming language. Used for web (Django, Flask), data science, AI/ML, scripting, and automation. Dynamically typed, interpreted, with a huge standard library and ecosystem. The most popular language for beginners and data work.
- Data science and AI/ML.
- Web backends (Django/FastAPI).
- Scripting and automation.
- Beginners learning to code.
- CPU-intensive systems programming (use Rust/C++).
- Mobile apps (use native/Kotlin/Swift).
Definition
Python is a dynamically typed, interpreted language emphasizing readability (indentation for blocks, English-like syntax). It supports OOP, functional, and procedural styles. CPython is the reference implementation; PyPy is faster. pip installs packages from PyPI.
Why it exists
To provide a language that's easy to read and write, productive for beginners and experts, and versatile enough for scripting, web, data, and AI.
How it works
Write .py files. The interpreter (CPython) compiles to bytecode and executes. pip installs packages. Virtual environments (venv) isolate dependencies. Type hints (optional) add static checking via mypy. Frameworks: Django/Flask (web), pandas/NumPy (data), PyTorch/TensorFlow (ML).
Scaling limits
Dynamic typing catches errors at runtime (use type hints + mypy). GIL prevents true multithreading for CPU work (use multiprocessing or async). Slower than compiled languages for CPU-bound work.
Cost shape
Free and open source.
Alternatives
- JavaScript/Node.js — Same language front and back, but weaker data/ML ecosystem.
- Go — Faster and simpler concurrency, but less expressive.
Failure modes
- GIL limiting CPU parallelism.
- Dependency hell in projects without virtual envs.
- Runtime type errors.