The Zen of Python: Why timing is everything |

The Zen of Python: Why timing is everything

This is part of a special series about the Zen of Python focusing on the 15th and 16th principles: now vs. never.

Clock, pen, and notepad on a desk
Image by :

Subscribe now

Get the highlights in your inbox every week.

Python is always evolving. The Python community has an unending appetite for feature requests but also an unending bias toward the status quo. As Python gets more popular, changes to the language affect more people.

The exact timing for when a change happens is often hard, but the Zen of Python offers guidance.

Now is better than never.

There is always the temptation to delay things until they are perfect. They will never be perfect, though. When they look "ready" enough, that is when it is time to take the plunge and put them out there. Ultimately, a change always happens at some now: the only thing that delaying does is move it to a future person's "now."

Although never is often better than right now.

This, however, does not mean things should be rushed. Decide the criteria for release in terms of testing, documentation, user feedback, and so on. "Right now," as in before the change is ready, is not a good time.

This is a good lesson not just for popular languages like Python, but also for your personal little open source project.

Searching for code

Welcome to Pythonukkah, a special series about the Zen of Python. On the first day, we celebrate the first two principles: beauty and explicitness.
Person reading a book and digital copy

This is the second part of a special series about the Zen of Python focusing on the third and fourth principles: simplicity and complexity.
Two animated computers waving one missing an arm

This is part of a special series about the Zen of Python focusing on the 12th, 13th, and 14th principles: the roles of ambiguity and obviousness.


About the author

Moshe sitting down, head slightly to the side. His t-shirt has Guardians of the Galaxy silhoutes against a background of sound visualization bars.
Moshe Zadka - Moshe has been involved in the Linux community since 1998, helping in Linux "installation parties". He has been programming Python since 1999, and has contributed to the core Python interpreter. Moshe has been a DevOps/SRE since before those terms existed, caring deeply about software reliability, build reproducibility and other such things. He has worked in companies as small as three people and as big as tens of thousands -- usually some place around where software meets system administration...