2009/02/09

Python 3.0が追い求めたものは…


2006年当時のPython 3.0

この記事は、Python 2.6と比較したPython 3.0の新機能について説明します。『Python 3000』および『Py3k』としても知られているPython 3.0は、『後方互換を意図的に除いた』Pythonの初めてのリリースです。通常のリリースにあるよりもたくさんの変更があり、またそのような変更はすべてのPythonユーザーにとって重要なものです。にもかかわらず、変更を整理した後、実際にはPythonには大きな変更がなかったと気づくでしょう。そして私達は、主に有名な厄介事と醜いものを修正していて、たくさんの古い嫌なもの(cruft)を削除しています。

What'sNewInPython3.0 - TSNETWiki on TextWorld
ここでPython 2.5と 3.0の違いについて日本語で解説してくれています。非常にありがたい。

どうやら先日のRubyのように処理が大幅に高速化したというのとは違う進化のようです。

後方互換性を崩す仕様変更は、「誰もが正しいと考える、たった1つの方法をできる限り採用する(There should be one―and preferably only one―obvious way to do it)」というPythonの設計思想を、より高次元で実現するために必要なことだったのです。

これまで比較的シンプルで後互換性のある言語で、それ故変更できなかった仕様が沢山ありました。今回のメジャーバージョンアップを期に多くを見直しさらに一貫性を増すと言うことが目的となっているようです。

現状は2.6系と並列した状態ですので、焦って移行する必要は無いと思います。
ただ、主要なライブラリなどが3.0系に移行が進むと利用する人にとっても弾みになると思います。

自分も少しは勉強しないとなぁ~

 

via Python 3が後方互換性を捨てても求めたもの - @IT