通常情况下,一个开发语言的新版本都会保持向后兼容原来的老版本,但是在2000年,Python语言的创始人Guido van Rossum宣布,他将跨入一个新的Python版本,3.0版本将不会向后兼容。现在Python 3.0 RC候选版本已经发布,正式版本将在这个月月底发布Python。
开发者也许会无法接受语言新版本的用法和老的代码不兼容,但是对于Rossum来说,激进的升级是必要的。语言如果能用无数种方式做同一件事情,那么应该做的工作没有人真正做到了。
3.0的发布是一个重要动作,Rossum说,这是要让Python语言有更好的基础向前迈进。
Python 3.0 改变了什么?
从某种意义来说,Python已经成为自身成功的受害者。Rossum说,“最初的想法中,Python的使用范围很小,我真的没有想到Python是如此成功,正在各种各样的应用中使用,从web应用编程到科学计算,以及所有的一切类型程序。”
Van Rossum于1990年创建Python,作为一个开源,可扩展,高层次的语言,他还需要处理一些系统管理的职责。如今Python是世界上最流行的语言之一。08年3月,奥地利研究者Anton Ertl通过在新闻组发贴数量来统计语言的热门程度,Python排在第三位,仅次于C和Java之后。
今天,最容易来教别人如何编程的语言是Python,Python是使用起来最简单的语言之一,而且很优雅。
但是Python的简单正在遏制自己的增长,在整个90年代,不停有新的功能和属性进入Python语言,但是不一致开始在整个平台上显现出来。 Rossum说,我们开始慢慢逝去了简单的优势,我们必须打破向后兼容性,停止语言定义的膨胀,虽然这种转变发生的非常缓慢,几乎难以察觉。
Python语法改变有一系列的列表,有些改变很小,可能被忽略,有些程序员可以迅速接受:比如去除print语句,加入print()函数实现相同的功能。同样的还有exec语句,已经改为exec()函数。去除了<>,全部改用!=。详细可以查看:Python 3.0 抢“鲜”体验。
如何转换?
Python 2.6作为过渡版本,2.6可以帮助开发者找到过时的程序代码,为3.0版本做准备,同时还有一个Python 2.0到Python 3.0的代码转换工具。
当然也有很多人置疑Python 3.0是否必要,有可能升级被大多数不愿意转换老代码的开发商忽视,因此,它可能失去其地位,类似于微软的Vista没有取代Windowsxp成为事实流行标准。
比如编写打印软件的Aahz Maruch负责的工程,Page DNA项目,有超过20万行代码需要转换,这是将是一个巨大的工作,Maruch说道,我们将等待几年后的自动翻译工具来改善,我们甚至没有谈到3.0,打算等它发布两三年以后。
今天Python主要的实现是CPython,这是一个用C写的Python翻译器,而且还有其他的Python实现,比如JPython(Python in Java),IronPython( 用微软.net通用运行时语言编写的Python),以及PyPy(一个用 Python写的Python翻译器).
不管怎样,Python的核心开发团队对推广Python 3.0非常有信心,Rossum认为人们使用2.6从现在开始不到一年就会转移到3.0版本上,他同时建议:你如果开始一个新的Python项目,你绝对应该使用3.0.
让我们祝Python 3.0取得成功。