惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
雷峰网
雷峰网
Last Week in AI
Last Week in AI
T
Tailwind CSS Blog
V
Visual Studio Blog
Jina AI
Jina AI
博客园 - 司徒正美
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
小众软件
小众软件
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
WordPress大学
WordPress大学
爱范儿
爱范儿
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏

Secret Weblog

Becoming More Xee: A Modern XPath and XSLT Engine in Rust Looking for new challenges! Repeat Yourself, A Bit The Curious Case of Quentell The Humble For Loop in Rust The Humble For Loop in JavaScript Don Question Best Practices I Was a 1980s Teenage Programmer Part 5: Achieving Assembly I Was a 1980s Teenage Programmer Part 4: The Call of Assembly The Tooling Shift I Was a 1980s Teenage Programmer Part 3: MSX-2 JavaScript: when you need two ways to do it! Empowering Programming Languages Bloat and Retrofuturism Refreshing my Blog Again Random Rust Impressions Apilar: An Alife System I Was a 1980s Teenage Programmer Part 2: Olivetti M24 I Was a 1980s Teenage Programmer: the Alphatronic SolidJS fits my brain Is premature optimization the root of all evil? Framework Patterns: JavaScript edition Roll Your Own Frameworks Framework Patterns Secret Weblog Highlights Refactoring to Multiple Exit Points mstform: a form library for mobx-state-tree Seven Years: A Very Personal History of the Web
Python 3.0 is incompatible with Python 2.0
Martijn Faassen · 2008-02-01 · via Secret Weblog

Jesse Noller wrote:

I hate slashdot: Python 3000 is incompatible?!!!

and then says:

A sensationalist title, summary and normal slashdot commenters: "Python 3.0 To Be Backwards Incompatible"

I don't see how the title is sensationalist. Python 3.0 is backwards incompatible with Python 2.0. Conversion scripts are supplied, but that fundamental reality stands. The summary on Slashdot is this:

Organizations using Python will be affected in a major way by changes in store for the language over the course of the next twelve months, Linux.conf.au attendees were told this morning. The Python development community is working towards a new, backwards-incompatible version of the language, version 3.0, which is slated for release in early 2009. Anthony Baxter, the release manager for Python and a senior software engineer at Google Australia, said "We are going to break pretty much all the code. Pretty much every program will need changes." Baxter also added another tidbit for attendees, saying that Python accounts for around 15 percent of Google's code base."

I don't see anything sensationalist in this either. It's true: organizations and communities using Python are going to be impacted in a major way by the release of Python 3.0, and the reason they are going to be impacted is the non-backwards incompatibility. There are significant consequences for organizations that need to deal with this transition - for the organizations that go ahead and make it, and also for the organizations that wait and see and continue to use the Python 2.x version.

I haven't read any of the Slashdot comments. I'm sure some of them are very wrong, and very annoying; that's normal. It's just that I object to spreading the idea that this message is sensationalist or somehow wrong. It's not. It's the reality that one way or another the Python community will have to deal with. Objecting to an expression of this reality spreads the wrong message.

Recognizing that Python 3.0 is backwards incompatible makes us aware that we are heading for something we will have to deal with one way or another. It's a useful wakeup call for people who might not be aware of this.

The language developers are working on a migration script and are adjusting the Python 2.x line of Python so that we can prepare our code bases. By all means, spread that news too in addition to the backwards incompatibility news. But don't object if news sources forgo such subtleties in spreading the main message to take home about Python 3.0: without special action on your part, your code will break when you try to run it with the new interpreter. Adopting Python 3.0 as a community will mean an awful lot of code to transition. It'll be a process of years, and it won't be easy.

(as an aside: I think I wrote a reasonable posting about Python 3.0 just now. Of course that's what I thought when I posted about this last time, and then I had people land on my head like a ton of bricks. It left a very unpleasant taste in my mouth. Let's hope this time will be better. I think having an open discourse about this is important.)