The Quiet Terminal

← Beginner

What is Python, and what is it actually good for?

2026-02-06 · 3 min read

People ask me this at some point, and the feature list on the website doesn't really answer it. Here is my honest version. Python is a programming language that reads almost like pseudocode, and its defining talent is the shortest distance between an idea and a running program. Almost everything good and bad about it follows from that one sentence.

"Interpreted" means: no build step

Python reads your file top to bottom and runs each line the moment it reaches it. There is no compile step and no build button — you save the file and run it. The flip side is that an error on line 40 can only be discovered when line 40 actually runs. Save this as demo.py and run it:

print("first")
print("third" + 1)
print("never printed")
first
Traceback (most recent call last):
  File "demo.py", line 2, in <module>
    print("third" + 1)
TypeError: can only concatenate str (not "int") to str

The first line ran. Then the crash. The last line never executed at all. For scripts and tools, that's exactly the behavior you want — you find problems by running things, immediately. It only becomes a real trade-off when a program must run for hours before the broken branch is ever reached.

What it's genuinely good at

Scripts and automation. This is the heartland. Whatever you do by hand three times a week on a computer, Python can do in a file of ten lines. Renaming a folder of photos:

from pathlib import Path

for photo in Path("camera_uploads").glob("IMG_*.jpg"):
    new = photo.with_name(photo.stem + "_old.jpg")
    photo.rename(new)
    print("renamed:", new.name)

Glue. Taking data from one program, reshaping it, handing it to another: read a CSV, clean it up, put it in a database; call an API, summarize the result, write the report. Python is the duct tape of the internet and mostly proud of it.

Data. This is where most professional Python lives — pandas for tables, matplotlib for plots, and the heavy math hidden inside libraries that are themselves written in C for speed. The user gets both: Python's readability on top, C's speed underneath.

Where it's the wrong tool

Mobile, first. iPhone and Android apps are not written in Python; the platforms make it difficult and the tooling never got good. Raw speed, second: game engines, operating systems, anything where microseconds are the product. One nuance I wish someone had told me earlier: most of my scripts spend their lives waiting — for a download, a disk, a database — and waiting at C speed and waiting at Python speed look identical from the outside. Speed rarely matters until it suddenly does, and by then a library usually already exists that does the fast part for you.

Which version

One paragraph, because this worries beginners more than it should. Any modern Python is Python 3 — Python 2 was retired in 2020, and everything you will install or read about today is 3.x. New versions come out roughly once a year (3.14 is current as I write), and they are almost entirely compatible with each other. Anything from 3.10 onward is completely fine for learning. If python --version prints a 3, stop thinking about it and go write something.

So what is Python actually good for? All the places where the bottleneck is the human writing the program, not the machine running it. In my experience that's most things — which is both the compliment and the complaint.