On 5/24/2016 10:49 AM, Paul Moore wrote: > On 24 May 2016 at 15:11, Koos Zevenhoven <k7hoven at gmail.com> wrote: >>> Please, no. We learned that lesson in Python 2.2.1 with True/False. >> >> What happened? True was included in 2.2.1 but not False?-). Anyway, I >> guess you are probably right, and "3.6->" is the way to go. Besides, >> Guido already wrote that in the first response. He did so because our policy rightly forbids changing os. > The history is at > http://python-history.blogspot.co.uk/2013/11/the-history-of-bool-true-and-false.html > but basically we added new *constants* for True/False in a point > release. Some people used them, and their code only worked on 2.2.1 > and above but not 2.2.0. Others were using variables called True and > False, and the 2.2.1 change broke their code (you could no longer > assign to those names). > > So essentially it ended up that people couldn't say "works on 2.2" and > had to distinguish between 2.2.0 and 2.2.1+. > > Python's strict backward compatibility rules basically stem from the > grief caused by that change. The policy was reinforced by its violation in changing the behavior of a StringIO method in 3.1.2 or something like that. For people affected (like me), the change resulted in a subtle bug that only manifested later. -- Terry Jan Reedy
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4