Guido 谈 Python 3000 及与 Ruby 的竞争

阅读数:3810 2007 年 5 月 31 日

话题:RubyRuby on RailsGoogle语言 & 开发架构

Guido van Rossum 1989 年在 ABC 与语言的基础上创建了Python 语言。目前 Python 不仅得到其他开发社区的认可,比如 JPython 和 IronPython 的广泛应用,在教育和科学技术领域也起到举足轻重的作用,据 Guido 介绍,Python 甚至可以和价格昂贵的 Matlab 等商业软件相媲美。在 5 月 31 日举行的Google 开发者日期间,InfoQ 中文站就 Python 与Ruby的竞争,即将推出的新版本 Python 3000 等话题与 Guido 进行了交流。

在谈到为什么 Python 应用程序的运行速度比 Ruby 快,社区也较 Ruby 更为成熟,也产生了像DjangoTurbogears等这样的框架,但却没有产生一个像 Ruby on Rails 那样普遍受欢迎的 Killer Application 时,Guido 说:

我不喜欢 Killer Application,因为那会让多数人或者社区将精力集中于一个地方。Python 是一个应用广泛的语言,基于 Python 已经产生了很多好用的 Web 框架,比如 Django 等。但是 Python 不需要 Killer Application,至少目前是这样,而且我相信随着 Python 社区的发展,会有很多 Killer Applications 自然出现。我喜欢多样化的应用。
这一观点在 Guido 的主题演讲中,谈到 Python 语言的初始设计目标时得到验证:
  • 易于实现
  • 典型的高级语言
  • 跨平台(硬件和软件)
  • 可读性和表达能力强
  • Bug 不会破坏解释器
  • 不和 C 语言竞争,而是实现 C

Google 给了 Guido 充分的自由时间,在 Google 他可以用一半的时间用 Python 为 Google 开发人员开发易用的工具,而另一半可以全部投入到 Python 的开发中,加快了 Python 语言新版本的推出速度。Guido 表示在 2007 年夏天,他会推出Python 3000

在新版本 3000 里有很多大的改进,对中国开发者而言最感兴趣的我想应该是 Python 对 Unicode 的支持。在将来,除了部分核心关键字比如 if、else 外,其他的类名、接口等都可以用中文表示。另外会修复一些在 1990 年至 1991 年间出现的设计错误。在细节方面也做了改进,比如整数的除法,在 Python 2.0 中 1/2 的结果是 0,而在 Python 3000 中则为 0.5。为保持语言的简单,Python 3000 还会去掉一些从前重要但现在无人问津的功能。

Python 语言的简单性是 Guido 一直强调的重点,他希望 Python 在未来能够没有类型检查;任何表达都是对象,都有命名空间,都能被输出;用户和系统交互时有更多的优先权,还要有交互式提示等。