Meta #1: Complex is Better Than Complicated (The Zen of Python)
The format of this blog (or publication, as it is called in Medium), namely that the topics are structured as “X is Better Than Y” value statements, was inspired by the series of statements of (mostly) the same structure, called The Zen of Python. (Python is a programming language, proposed by many experts as a first programming language to learn, because of its great balance of usability and performance.)
It was written by Tim Peters, one of the top leaders of the Python development community, who calls himself in his LinkedIn profile simply “Supreme Commander”.
In the Python community this is not the only funny title. Guido van Rossum Python founder is called “Benevolent Dictator for Life”, BDFL, reflecting the fact that the community is far from being democratic in the sense of making decisions by majority voting. Rather, it is a meritocracy, to which the members join voluntarily, and have to accept basic principles and submit their proposals to the final authority of the most prestigious leaders.
This discipline is necessary to maintain the quality of the Python programming language throughout every version upgrade as a very user-friendly, easy to learn, easy to read, yet powerful professional tool. In the spirit of Guido’s intents, who advertised the Python language as “Computer Programming for Everyone”.
So here is the list of Zen of Python statements:
- Beautiful is better than ugly.
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Sparse is better than dense.
- Readability counts.
- Special cases aren’t special enough to break the rules.
- Although practicality beats purity.
- Errors should never pass silently.
- Unless explicitly silenced.
- In the face of ambiguity, refuse the temptation to guess.
- There should be one — and preferably only one — obvious way to do it.
- Although that way may not be obvious at first unless you’re Dutch.
- Now is better than never.
- Although never is often better than *right* now.
- If the implementation is hard to explain, it’s a bad idea.
- If the implementation is easy to explain, it may be a good idea.
- Namespaces are one honking great idea — let’s do more of those!
If you actually use Python, you don’t even have to Google for the list, you can simply print it out within the Python programming environment by issuing the “import this” statement.