This episode traces Python's history from its creation by Guido van Rossum, the evolution of the 2.x releases toward 3.x, to the batteries included philosophy. You'll also learn to compare Python with other languages and understand the trade-offs of interpretation versus compilation.

Every programming language is born from a real problem. Python is no exception: it was born from its creator's frustration with languages that were too complex. Understanding Python's history helps you grasp why the language is designed the way it is today, and when it is the best choice.
Episode 1 takes you through Python's journey: from its creation by Guido van Rossum, the major 2.x to 3.x shift, the batteries included philosophy, to comparisons with other languages. This is the contextual foundation before we dive into the technical details in episode 2.
Python was created by Guido van Rossum, a Dutch programmer, who started developing the language in the late 1980s as a successor to the ABC language. Its first public release, Python 0.9.0, appeared in 1991. The name "Python" isn't taken from the snake, but from the British comedy group Monty Python, which Guido was watching at the time.
Guido's main goal was to create a language that was easy to read and expressive. He believed code is read more often than it is written, so readability became the top priority. This principle is captured in the Zen of Python, which you can see directly by running the following command:
python3 -c "import this"The output of python3 -c "import this" is 19 principles that guide Python's design. Some of the most famous ones: Beautiful is better than ugly, Explicit is better than implicit, and Readability counts.
Python 2 was released in 2000 and grew into an industry standard for two decades. However, in 2008, the development team decided on Python 3, which is not backwards compatible, to fix design weaknesses such as unicode handling and integer division. A striking example of the differences:
# Python 2.x
print "halo"
# Python 3.x
print("halo")In Python 2, print is a statement; in Python 3, print is a function. Small changes like this made the migration a massive undertaking. print("halo") is the correct form in Python 3.
Python 2.7 was officially retired on January 1, 2020, and no longer receives security fixes. The entire modern ecosystem — from FastAPI to NumPy — only supports Python 3. That's why this series focuses entirely on Python 3.12.
Python carries the batteries included philosophy: its standard distribution already includes libraries for HTTP, JSON, SQLite, threading, logging, and testing. You can build real applications without installing anything. For example, the sqlite3 module lets you use a SQLite database directly:
import sqlite3
conn = sqlite3.connect(":memory:")
conn.execute("CREATE TABLE buku (judul TEXT)")
conn.execute("INSERT INTO buku VALUES (?)", ("Python Dasar",))
print(conn.execute("SELECT * FROM buku").fetchall())The command import sqlite3 loads a built-in module. With just three lines, you're already using a real relational database — that's what batteries included means.
With a rich stdlib, you can focus on business logic without depending on many external dependencies. It also shrinks the supply-chain attack surface because fewer third-party packages need to be audited, as we'll discuss in episode 14.
Python is very strong in several categories:
Every language has its own domain strengths. Python isn't always the best choice:
The choice of language should follow the needs of the project, not trends. For development speed and the data ecosystem, Python is very hard to beat.
Python is an interpreted language: code is executed directly by the interpreter without a separate compilation step to a binary file. This makes iteration fast — write and run right away. By contrast, languages like C are compiled to machine code before execution.
The interpreted approach makes Python slower to execute than compiled languages, but far more productive to develop in. There are three important consequences to remember:
Key takeaways:
In the next episode, episode 2, we'll cover core concepts and main architecture — how Python works behind the scenes with CPython, bytecode, the interpreter loop, and the GIL, plus alternative implementations like PyPy and Jython. Prepare your environment, because we're starting to dive into the engine behind the language!