Nick Coghlan

Recent Posts

Newcomers to python-ideas occasionally make reference to the idea of “Python 4000” when proposing backwards incompatible changes that don’t offer a clear migration path from currently legal Python 3 code. After all, we allowed that kind of change for Python 3.0, so why wouldn’t we allow it for Python 4.0?

I’ve heard that question enough times now (including the more concerned phrasing “You made a big backwards compatibility break once, how do I know you won’t do it again?”), that I figured I’d record my answer here, so I’d be able to refer people back to it in the future.

What are the current expectations for Python 4.0?

A recent thread on python-dev prompted me to summarise the current state of the ongoing industry-wide transition from bilingual to multilingual programming as it relates to Python’s cross-platform support. It also relates to the reasons why Python 3 turned out to be more disruptive than the core development team initially expected.

A good starting point for anyone interested in exploring this topic further is the “Origin and development” section of the Wikipedia article on Unicode, but I’ll hit the key points below.