News for hackers. Stuff that matters.
Re:In Memoriam: Tim Peters 1952–2026 by w-m on Wednesday November 11, 2026 @04:42AM (#50451437)

  $ python -c "import this"
  The Zen of Python, by Tim Peters

  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!
Re:In Memoriam: Tim Peters 1952–2026 by Waterluvian on Wednesday November 11, 2026 @01:17PM (#50456579)
I discovered this early on in my programming journey and it helped set my philosophical trajectory. Over the years I’ve slowly grokked these items. But it was valuable to have a North Star even before I realized why they were important.
Re:In Memoriam: Tim Peters 1952–2026 by tclancy on Wednesday November 11, 2026 @06:04PM (#50460198)
Oh same, same. They didn’t all land at once but I remember multiple times I ran import this because I was bored or finished at the end of a day and thinking, “Oh yeah, I figured that out since the last time.” To me, it was a formative document and I can’t say enough good things about it.
Re:In Memoriam: Tim Peters 1952–2026 by vasco on Thursday November 12, 2026 @01:51AM (#50463885)
> Oh yeah, I figured that out since the last time.

It's incredible how every single thought you think it's yours was already had a bunch of times.

Re:In Memoriam: Tim Peters 1952–2026 by svilen_dobrev on Wednesday November 11, 2026 @01:34PM (#50456825)
Thank you, Tim Peters.

.

Re:In Memoriam: Tim Peters 1952–2026 by gavmor on Wednesday November 11, 2026 @01:43PM (#50456919)
I have cited this poem countless times over the years--sometimes ironically. I'm sad.
Re:In Memoriam: Tim Peters 1952–2026 by glerk on Wednesday November 11, 2026 @02:07PM (#50457176)
Hard to disagree with any of this. RIP.
Re:In Memoriam: Tim Peters 1952–2026 by userbinator on Thursday November 12, 2026 @01:02AM (#50463599)
It's hard to disagree, since it's very vague and subjective.
Re:In Memoriam: Tim Peters 1952–2026 by bitter_michael on Wednesday November 11, 2026 @02:10PM (#50457203)
Interestingly, today this text reads not only as good advice for coders but also as good instructions for agents. Perhaps time to revisit those and make sure the spirit of these adages is captured there
Re:In Memoriam: Tim Peters 1952–2026 by shiandow on Wednesday November 11, 2026 @02:11PM (#50457214)
The PEP explicitly says there are 20 of which only 19 are written down and I can't figure out if that is a joke, a deliberate statement, or both.
Re:In Memoriam: Tim Peters 1952–2026 by leoc on Wednesday November 11, 2026 @02:18PM (#50457301)
And at that moment, shiandow was enlightened. ;)

(https://en.wikipedia.org/wiki/Zen_of_Python has more about the discrepancy.)

Re:In Memoriam: Tim Peters 1952–2026 by rbanffy on Wednesday November 11, 2026 @06:53PM (#50460770)
Two of the most common bugs in programming is the off-by-one error.
Re:In Memoriam: Tim Peters 1952–2026 by spockz on Thursday November 12, 2026 @11:08AM (#50469687)
[delayed]
Re:In Memoriam: Tim Peters 1952–2026 by willtemperley on Thursday November 12, 2026 @08:34AM (#50466854)
I'm guessing you're not Dutch?
Re:In Memoriam: Tim Peters 1952–2026 by jacobolus on Thursday November 12, 2026 @10:20AM (#50468834)
From the original mailing list message:

> There you go: 20 Pythonic Fec^H^H^HTheses on the nose, counting the one I'm

> leaving for Guido to fill in. If the answer to *any* Python design issue

> isn't obvious after reading those -- well, I just give up <wink>.

https://mail.python.org/pipermail/python-list/1999-June/0019...

Re:In Memoriam: Tim Peters 1952–2026 by flykespice on Wednesday November 11, 2026 @02:41PM (#50457549)
> There should be one-- and preferably only one --obvious way to do it.

Oh boy, that didn't age well for Python language did it? It matches with C++ in growing complexity of syntax features. With a couple dozen ways to write the very same algorithm.

Re:In Memoriam: Tim Peters 1952–2026 by bigstrat2003 on Wednesday November 11, 2026 @03:02PM (#50457890)
Python has never followed the Zen. The irritating way the language lets you use non-booleans in a boolean context flies right in the face of "explicit is better than implicit".
Re:In Memoriam: Tim Peters 1952–2026 by michaeldh on Wednesday November 11, 2026 @03:31PM (#50458258)
Practicality beats purity!
Re:In Memoriam: Tim Peters 1952–2026 by logophobia on Wednesday November 11, 2026 @04:19PM (#50458838)
Except it mostly just leads to suprising bugs and time wasting, in exchange for saving a small amount of typing
Re:In Memoriam: Tim Peters 1952–2026 by loeg on Wednesday November 11, 2026 @03:38PM (#50458344)
And typing wasn't explicit for a long time. Now it is kind of best practice, but you can still produce Python without typecheck metadata.
Re:In Memoriam: Tim Peters 1952–2026 by zestyping on Wednesday November 11, 2026 @07:16PM (#50461026)
[delayed]
Re:In Memoriam: Tim Peters 1952–2026 by tacitusarc on Wednesday November 11, 2026 @07:58PM (#50461489)
Booleans are reductionist and likely harmful, as they allow programmers to avoid thinking in terms of the test they are actually performing: is this a member of some set? If the problem is reworked like that Booleans are superfluous (this representation could be compiled to something as performant as using Booleans).

I am not sure if that perspective aligns with yours.

Re:In Memoriam: Tim Peters 1952–2026 by zephen on Thursday November 12, 2026 @01:04AM (#50463604)
Not sure why you're getting downvoted so much, but to put this thought into a somewhat broader context:

In an explicitly, statically typed language, bools might be useful as a standard small enum.

In what Python used to be, they weren't, not really.

But for whatever reason, declared typing is now an add-on to the language, and the people who like the verbosity of declared typing also, perhaps schizophrenically, like the terseness afforded by having a standard small enum.

Re:In Memoriam: Tim Peters 1952–2026 by driggs on Thursday November 12, 2026 @02:35AM (#50464144)
I still have a printed stack of Python 1.5.7 docs from when I first learned the language.

The addition of boolean `True` and `False` were a huge improvement to the language when they were finally added in 2.3.

I'm not sure why you're making things more complicated than they need to be. Test for truthiness. Conditional statements already evaluate boolean expressions, you're not adding anything explicit by writing `== True`.

Re:In Memoriam: Tim Peters 1952–2026 by zephen on Thursday November 12, 2026 @01:22PM (#50471767)
> I still have a printed stack of Python 1.5.7 docs from when I first learned the language.

Argument by verified hoarder?

> The addition of boolean `True` and `False` were a huge improvement to the language when they were finally added in 2.3.

Hard disagree.

Re:In Memoriam: Tim Peters 1952–2026 by jodrellblank on Thursday November 12, 2026 @12:56PM (#50471342)
> "Every primitive type has a null value"

Does it? "bank account has 0 dollars" and "no bank account" are different states. 0 cannot (should not) try to represent both. Same for empty string, empty list, empty set, they are data not nulls. Python has None for that.

Re:In Memoriam: Tim Peters 1952–2026 by pdonis on Thursday November 12, 2026 @02:26PM (#50472813)
But None has its own type; it's not a value of any of the other primitive types. Which makes sense if you use None to represent "no data present" vs. "data present, value is the null value".
Re:In Memoriam: Tim Peters 1952–2026 by pdonis on Thursday November 12, 2026 @02:29PM (#50472871)
> it became possible to compare things as equal to True or False

Not if you just use the objects as their natural types. For example:

    >>> "" == False
    False
    >>> "a" == True
    False
> "if x" and "if x == True" are now very similar, but subtly different, ways to express the same thing.

No, they're not. See above.

Protip: Before making any claims about the behavior of a language with a REPL, test them at the REPL.

Re:In Memoriam: Tim Peters 1952–2026 by pdonis on Thursday November 12, 2026 @10:17PM (#50477736)
> If we had stuck with 0 and 1, we would have avoided all this confusion.

I don't see how. Indeed, using 0 and 1, the int values, as if they were boolean false and true created more confusion. First, int has more values than just 0 and 1--and all of them are "truthy". Second, treating 0 and 1 as booleans is still treating boolean-ness as a noun--but also confusing that with treating it as an adjective for those int values.

PEP 285, which introduced the bool type, gives other rationales as well:

https://peps.python.org/pep-0285/

Re:In Memoriam: Tim Peters 1952–2026 by benji-york on Wednesday November 11, 2026 @07:56PM (#50461478)
Do you know why it is the way it is?
Re:In Memoriam: Tim Peters 1952–2026 by isityettime on Thursday November 12, 2026 @11:51AM (#50470322)
That's because the Zen is a collection of fuzzy aphorisms about taste. Python has in fact never had a set of hard principles that constrain the design of the language.

In other traditions, type systems or the borrow checker or even vaguer things like a commitment to a "tiny core" of just a few primitives constrain language designers in a way that (sometimes inflexibly) commits them to the consequences of earlier design decisions. Python has mostly been designed one step at a time, by fiat. It's not a surprise that the result is an inconsistent language, especially after the resignation of the BDFL, and especially after so many years of widespread popularity.

Re:In Memoriam: Tim Peters 1952–2026 by buster on Wednesday November 11, 2026 @03:17PM (#50458080)
To be honest I found this sentence to be beautiful and true for many years after working a lot with php and perl. The mort important word in this sentence is obvious. There are many many many ways to do the same thing but working with python I found that mostly to be true, there is always an obvious, documented way (and not two of three!). Searching for a way to do something in perl, for example, was such a huge difference.
Re:In Memoriam: Tim Peters 1952–2026 by throwaway5752 on Wednesday November 11, 2026 @05:31PM (#50459711)
It is really more aspiration, and a good programmer mantra anywhere. Nothing here is so Python specific outside namespaces, and ... that is also a good programmer mantra.
Re:In Memoriam: Tim Peters 1952–2026 by bazoom42 on Thursday November 12, 2026 @05:01AM (#50465180)
There will always be a billion way to write the same algorithm in a Turing-complete language. That is not the point.
Re:In Memoriam: Tim Peters 1952–2026 by jacquesm on Thursday November 12, 2026 @06:43AM (#50465806)
Let's start off with 'Which Python?'
Re:In Memoriam: Tim Peters 1952–2026 by vonunov on Friday November 13, 2026 @08:48PM (#50492733)
/usr/bin/python
Re:In Memoriam: Tim Peters 1952–2026 by jacquesm on Saturday November 14, 2026 @12:01AM (#50494123)
Is that python2 or python3?
Re:In Memoriam: Tim Peters 1952–2026 by jodrellblank on Thursday November 12, 2026 @12:30PM (#50470929)
Fourth reply to the article in the link, by Chris McDonough includes:

> "You have Tim to thank at least partially if you were a refugee from Java or Microsoft languages, which made excuses for their sprawling verbosity, complexity, and poor readability. Python, at the time, made none of those and had none of that (it now does). Tim was crucial in ensuring it stayed that way during his most active years. He will claim differently, but, by my observation, it is no accident that Python ballooned in complexity after his exit as day-to-day core developer."

Re:In Memoriam: Tim Peters 1952–2026 by Buttons840 on Wednesday November 11, 2026 @03:19PM (#50458098)
Which is stored in `this.s` as the following string:

Gur Mra bs Clguba, ol Gvz Crgref

Ornhgvshy vf orggre guna htyl. Rkcyvpvg vf orggre guna vzcyvpvg. Fvzcyr vf orggre guna pbzcyrk. Pbzcyrk vf orggre guna pbzcyvpngrq. Syng vf orggre guna arfgrq. Fcnefr vf orggre guna qrafr. Ernqnovyvgl pbhagf. Fcrpvny pnfrf nera'g fcrpvny rabhtu gb oernx gur ehyrf. Nygubhtu cenpgvpnyvgl orngf chevgl. Reebef fubhyq arire cnff fvyragyl. Hayrff rkcyvpvgyl fvyraprq. Va gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff. Gurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg. Nygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh'er Qhgpu. Abj vf orggre guna arire. Nygubhtu arire vf bsgra orggre guna evtug abj. Vs gur vzcyrzragngvba vf uneq gb rkcynva, vg'f n onq vqrn. Vs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn. Anzrfcnprf ner bar ubaxvat terng vqrn -- yrg'f qb zber bs gubfr!

Re:In Memoriam: Tim Peters 1952–2026 by darkwater on Wednesday November 11, 2026 @04:11PM (#50458729)
Oh, ROT13!
Re:In Memoriam: Tim Peters 1952–2026 by FergusArgyll on Wednesday November 11, 2026 @10:53PM (#50462875)
Re:In Memoriam: Tim Peters 1952–2026 by anhner on Thursday November 12, 2026 @04:33AM (#50465003)
...but why? Why is it encrypted and not stored as plaintext?
Re:In Memoriam: Tim Peters 1952–2026 by notpushkin on Thursday November 12, 2026 @06:17AM (#50465641)
Wouldn’t be much of an easter egg if it was too easy to understand?
Re:In Memoriam: Tim Peters 1952–2026 by Suzuran on Thursday November 12, 2026 @08:22AM (#50466718)
Easter eggs are a code smell now, completely unacceptable. I'm sure the fun police will be all in to remove it.
Re:In Memoriam: Tim Peters 1952–2026 by Buttons840 on Thursday November 12, 2026 @09:35AM (#50467961)
It's to ensure the text is never altered because altering it would require reverse engineering the encryption algorithm which is a felony. (This is a joke, and a not-so-subtle criticism of the DMCA.)
Re:In Memoriam: Tim Peters 1952–2026 by coffeemug on Wednesday November 11, 2026 @04:18PM (#50458818)
The only thing I never liked about this is complex is better than complicated. Every once in a while there is a post with an “insight” on how they’re different, but it’s the same word! Naming things is hard, but I wish Tim found another word for one of these.
Re:In Memoriam: Tim Peters 1952–2026 by collingreen on Wednesday November 11, 2026 @05:45PM (#50459922)
I'll take a stab in this context:

Complex - many parts (but the parts could potentially be simple) Complicated - have to understand many things in order to understand it at all; large surface area

Re:In Memoriam: Tim Peters 1952–2026 by mmooss on Wednesday November 11, 2026 @06:54PM (#50460791)
> it’s the same word!

I guess if you take the square root of -1 you do get a complicated number, but it's a complex one. And then there's the complication for modern democracy called the military-industrial complex, and Oedipus's complex certainly complicated things. Then there's Ghost in the Shell: Standalone Complex, but I'm not really sure what that means.

Seriously, here's the best summary I can quickly find: [0]

"Complicated problems can be hard to solve, but they are addressable with rules and recipes, like the algorithms that place ads on your Twitter feed. They also can be resolved with systems and processes, like the hierarchical structure that most companies use to command and control employees.

... Complex problems involve too many unknowns and too many interrelated factors to reduce to rules and processes. A technological disruption like blockchain is a complex problem. A competitor with an innovative business model — an Uber or an Airbnb — is a complex problem. There’s no algorithm that will tell you how to respond.

This could be dismissed as an exercise in semantics, except for one thing: When facing a problem, says Nason, managers tend to automatically default to complicated thinking. Instead, they should be “consciously managing complexity.”"

Those are very different problems for software development too, and many in IT definitely try to treat every problem as complicated.

[0] https://sloanreview.mit.edu/article/the-critical-difference-...

Re:In Memoriam: Tim Peters 1952–2026 by kstrauser on Wednesday November 11, 2026 @06:55PM (#50460801)
A complication on a wristwatch is anything other than telling time. Phases of the moon? Tides? Calendars? Complications. They make the innards more complex and fragile and difficult to build and repair. Complexity is the inherent difficulty in building the thing.

Together, what that's saying is that sometimes the minimal baseline complexity is going to be pretty high. If you're making a library to support all of HTTP/2, it's going to have lots of codepaths, and that's unavoidable. It's a complex problem requiring a complex solution. But consider SMTP, the "simple" mail transfer protocol. The protocol itself is stupidly simple. I can use — and have used — telnet to port 25 to send email. But because the protocol is so simple, implementing it is extremely complicated. Were the protocol a little more complex, the implementations could be vastly simpler.

Or perhaps more simply, if you're writing a textual protocol, define it as using UTF-8 encoding and move on. UTF-8 is more complex than simpler encodings like ASCII. Allowing your clients and servers to decide that they'd rather support something goofy, like Shift JIS or UTF-16, just makes everything vastly more complicated. Accept that the complexity of UTF-8 is inherent and sufficient, pay the cost, and then let all of your consumers be much simpler.

Re:In Memoriam: Tim Peters 1952–2026 by tacitusarc on Wednesday November 11, 2026 @07:51PM (#50461429)
See also, Constraints Liberate and Liberties Constrain
Re:In Memoriam: Tim Peters 1952–2026 by caned on Wednesday November 11, 2026 @07:07PM (#50460923)
[delayed]
Re:In Memoriam: Tim Peters 1952–2026 by jacobolus on Wednesday November 11, 2026 @11:21PM (#50463045)
The two words are both centuries old, so have had many chances for various authors and fields to adopt them for differing purposes, sometimes in contradictory ways. So for example a "complex system" (in the sense of the Santa Fe Institute) means something moderately different than what Tim Peters means. In plain English, they are broadly synonymous, so if you were writing a newspaper story you shouldn't expect readers to find subtle differences between them.

But if you know somewhat what implication a particular writer intends in drawing a distinction between the two words, then there's no inherent problem. "Simple is better than complex. Complex is better than complicated." is a pithy way to express a valuable idea:

We should try to make our interfaces, data structures, implementations, systems, etc. "simple", that is, dealing with just one thing at a time, in a clear and straightforward way, with few components each with a clear structure and purpose, etc., but sometimes there is inherent difficulty in a problem or in the world requiring many interacting pieces, but we should still aim to avoid making things "complicated", that is, tangled, messy, difficult to reason about, ambiguous, unpredictable, gratuitously mixing unrelated concerns, etc.

Re:In Memoriam: Tim Peters 1952–2026 by schrodinger on Thursday November 12, 2026 @01:10AM (#50463637)
Complex = a problem that's inherently difficult to solve due to its fundamental nature. Time is a great example.

Complicated = a solution that's difficult to understand due to a convoluted implementation. These can be simplified.

In other words, the difference is whether the difficulty is inherent to the problem space (complex) versus inflicted by a solution (complicated).

Re:In Memoriam: Tim Peters 1952–2026 by ketzu on Thursday November 12, 2026 @08:08AM (#50466584)
If complex only refers to inherent complexity (and not accidental complexity and whatever other attributes were used by people before) then how is "simple is better than complex" to be read? If complex is inherent to the problem, does it mean "solve a different problem"?
Re:In Memoriam: Tim Peters 1952–2026 by noufalibrahim on Thursday November 12, 2026 @01:56AM (#50463924)
It's generally a tradition for wise adages to be a little ambiguous leaving interpretation to the reader. I think that's as much a feature as it's a bug. Perhaps he meant it that way.
Re:In Memoriam: Tim Peters 1952–2026 by MForster on Thursday November 12, 2026 @02:44AM (#50464200)
to complicate = to make more complex

If something is complex, you have to deal with it. But to complicate things is to be avoided.

Re:In Memoriam: Tim Peters 1952–2026 by isityettime on Thursday November 12, 2026 @11:30AM (#50470020)
A lot of words in English are etymologically related but have grown significant connotative or denotative differences since the root word was reintroduced to the language by another path.¹ "Complex" and "complicated" are just such a pair. They are not the same word.

In this case you can think of "complex" as referring to essential complexity and "complicated" as referring to incidental complexity.

----

1: See also, for example: "intention" vs. "intension", "chief" vs. "chef", "hotel" vs. "hostel", "corpse" vs. "corps", "compliment" vs. "complement", etc. Sometimes related pairs do the opposite, entering with distinct denotations and developing overlapping ones e.g., "intellect" vs. "intelligence", and some include overlap but have had specialized senses come to dominate, e.g., "dispositive" vs. "dispositional".)

If you wanna get your head around English (or probably any language), the intuition that alerts you to related words is a very useful sensitivity, but you have to learn to absolutely resist the temptation to treat etymologically related words as identical. It's just not how language works. English seems like it might be especially rich with these "etymological doublets" (thanks ChatGPT, for teaching me this word today). They're really useful for capturing distinct shades of meaning between closely related concepts, which is exactly what they do in this adage from Tim Peters.

Re:In Memoriam: Tim Peters 1952–2026 by js2 on Wednesday November 11, 2026 @04:33PM (#50459008)
[delayed]
Re:In Memoriam: Tim Peters 1952–2026 by nine_k on Wednesday November 11, 2026 @11:11PM (#50462991)
The call to import this has more than the Python syntax meaning.
Re:In Memoriam: Tim Peters 1952–2026 by leoc on Thursday November 12, 2026 @06:07PM (#50475726)
Right, it started out as a t-shirt slogan: https://www.wefearchange.org/2010/06/import-this-and-zen-of-... .
Re:In Memoriam: Tim Peters 1952–2026 by zahlman on Friday November 13, 2026 @11:46AM (#50486115)
Barry Warsaw contributed a more complete explanation in the DPO thread: https://discuss.python.org/t/in-memoriam-tim-peters-1952-202...
Re:In Memoriam: Tim Peters 1952–2026 by driggs on Thursday November 12, 2026 @02:24AM (#50464081)
You've missed the joke, or maybe you weren't old enough to be learning Python during Java's heyday.

The joke is that people wanting to write Python like Java - with an implicit reference to an object's instance - would attempt to import Java's `this` keyword.

Instead of getting Java-like behavior, they're presented with the Zen of Python. You wouldn't be wrong to think that it was as much a commentary on other popular languages of the day as it was a guiding ethos of Python itself.

"Beautiful is better than ugly. Explicit is better than implicit."

Re:In Memoriam: Tim Peters 1952–2026 by wk_end on Thursday November 12, 2026 @03:00AM (#50464311)
c.f. what happens when you try `from __future__ import braces`
Re:In Memoriam: Tim Peters 1952–2026 by js2 on Thursday November 12, 2026 @08:17AM (#50466666)
[delayed]
Re:In Memoriam: Tim Peters 1952–2026 by bjourne on Thursday November 12, 2026 @09:23AM (#50467726)
Haha, yes! Back in the day whether self should be implicit or explicit was a major point of contention. Those who loved Java and C++ found self to be almost as repugnant as Python's indentation-based syntax. I even posted code on the now defunct ActiveState site to make self implicit again:

https://web.archive.org/web/20211128002836/https://code.acti...

For good reasons, Pythonistas were not appreciative! :)

Re:In Memoriam: Tim Peters 1952–2026 by zahlman on Friday November 13, 2026 @11:44AM (#50486101)
The revamp of the object model in 3.x IMO justified the design decision more strongly, since now methods are just functions (unless and until munged by the descriptor protocol) and the class is essentially just a namespace for them. (Namespaces are one honking great idea -- let's do more of those!) In 2.x, methods were a separate "unbound method" type even when accessed through the class, even if you explicitly inherited from `object`; with this model, one could more easily imagine special accommodations for `self`.
Re:In Memoriam: Tim Peters 1952–2026 by leoc on Friday November 13, 2026 @04:15AM (#50480536)
I always assumed it was partly a reference to the famous McBainism from Star Trek: First Contact https://www.youtube.com/watch?v=qbZ-CfhuZ5s&t=88s which came out three years earlier in 1996.
Re:In Memoriam: Tim Peters 1952–2026 by zahlman on Friday November 13, 2026 @11:40AM (#50486037)
> The joke is that people wanting to write Python like Java - with an implicit reference to an object's instance - would attempt to import Java's `this` keyword.

No, that isn't where the name comes from; the slogan "import this" was chosen for Python in a contest, and the decision was made to stuff the Zen there because it was also importable code. There's no record of who submitted this slogan or what the motivation was. And I certainly never heard of anyone trying to get a `this` keyword by importing an ordinary module; that would make no sense (the closest reasonable spelling would be something like `from __future__ import this_keyword`).

https://discuss.python.org/t/in-memoriam-tim-peters-1952-202...

Re:In Memoriam: Tim Peters 1952–2026 by davidja on Wednesday November 11, 2026 @05:10PM (#50459401)
This is a lot of wisdom, which you can tell comes from years of experience. I would like all llms of the world to have this as their base prompt.
Re:In Memoriam: Tim Peters 1952–2026 by pwdisswordfishq on Thursday November 12, 2026 @02:44AM (#50464201)
https://www.youtube.com/watch?v=anyhBdt79Cs

Pretty much all of this critique applies squarely to the Zen of Python.

Re:In Memoriam: Tim Peters 1952–2026 by moron4hire on Thursday November 12, 2026 @05:57AM (#50465520)
Seriously. None of those lines are actionable in any way.
Re:In Memoriam: Tim Peters 1952–2026 by marcosdumay on Thursday November 12, 2026 @11:48AM (#50470279)
Some people (or maybe even most) take it almost religiously. Maybe because of the name.

But the Zen of Python is an absolutely great vision statement, that positioned the language very clearly in comparison to the ones that existed at the time, and was good enough to guide its development for more than a decade.

Still, yeah, you can negate half of those things and also arrive at a good language.

Re:In Memoriam: Tim Peters 1952–2026 by bossyTeacher on Wednesday November 11, 2026 @07:00PM (#50460863)
I took this mantra with me when I learned other languages.
Re:In Memoriam: Tim Peters 1952–2026 by ycombinatrix on Thursday November 12, 2026 @07:21AM (#50466157)
For some reason, this describes Rust to me way better than it describes Python.
Re:In Memoriam: Tim Peters 1952–2026 by koningrobot on Thursday November 12, 2026 @02:23PM (#50472773)
I guess at this point we should abandon all hope of ever getting any notion of namespace in Python.