UserPreferences

KazuoMoriwaka/Journal/2008-12-06


Python 3.0について:

やっとでたねー。

http://sourceforge.jp/magazine/08/12/05/045246 とかみると、

 大きな変更点は、Unicode文字列とバイト型を区別するなどUnicodeベースへの移行、print文をprint()と関数にしたこと、など。
とか書いてるけど、そこじゃない。そこじゃないんだ。使ってないとわかんないとおもうけど。

一番でかいのはOld Style Classが な く な っ た こ と なんだよ!

これはPython 1.5の頃の「全てがリストとハッシュだけでできているPython」との決別なんだyo!

2.xで後方互換性を維持しつつ徐々に取り込まれてきたイテレータ、unicode型、new style class、リスト内包表記、エラーの組み込みクラス化、標準ライブラリの強化etc.は、どれもこれも「よく利用するオブジェクトを適切なクラスによって実装する」という、まともなオブジェクト指向言語への変化の過程です。 3.0では後方互換性を捨てられる(ことにした)ので、古くからのリストやハッシュや文字列と、クラスによる実装が並存していたところをバッサリ切り落としました。 そして2.xでは2種類あったクラスシステムも一つに統一され、dictとlistが全ての基盤だった1.xのPythonから、objectとtypeを基盤としたPython3kに変わりました。

Pythonは実用言語として広くつかわれ、膨大なライブラリ資産がありますから、 後方互換性のない3.0がすぐに標準的に利用されることはないでしょうが できるだけ早くその時期が訪れてほしいと思います。