[PR]今日のニュースは
「Infoseek モバイル」
「Python」(ぱいそん)とは、いわゆるニシキヘビのことですが、
プログラミング言語としてのPythonは欧米での人気に反して日本ではマイナーな存在です。
まずは、簡単なとっつきから。
PythonはC言語やBASICなどと同じプログラミング言語で、
オランダのGuido van Rossumさんによって1990年に開発された超高級言語(VHLL)、
いわゆるスクリプト言語です。「Python」は何かの略語ではなく、
文字通り「モンティ・パイソン」のパイソンのことで、
Guidoさんがモンティ・パイソンの番組の大ファンであることから、
この言語をPythonという名にしようと決めたそうです。
(トムとジェリーを見ていたら違う名前になったことでしょう?)
PerlやSchemeといった多くのスクリプト言語がUNIXコミュニティを中心に発展してきたのに対し、
Pythonは原開発者のGuidoさんがMac使いだったこともあり、
かなり初期からプラットフォーム独立の方針で開発が進みました。そのため、
MS-WindowsやMacintoshにも早期に対応し、
それらの環境のユーザーからも支持を集めてきました。
もちろんUNIX上でも人気があり、広範で独特なコミュニティをもつ言語処理系です。
特に欧米では日本でよりはるかに人気があって、
いろいろなシステムやツールの開発にPythonが好んで使われています。
主なところでは、最大級のシェアをもつLinuxディストリビューション
RedHat Linuxのグラフィカルインストーラが
Pythonで書かれているというのは有名だと思います。
Pythonの処理系(インタープリタ)はPerlやTclと同様無償で配布されており、
www.python.orgが総本山です。
現在はPythonLabsなるオープンソースの開発陣が結成され、
彼らを中心に日夜改良が続けられています。
またwww.python.orgのトップページから寄贈ソフトウェア(Contributed Software)のリンクをたどっていくと分かる通り、
世界中のPythonハッカー達による拡張ライブラリが公開されています。
Pythonの欧米での人気のすごさがうかがえますね。
Pythonの大きな特徴はしっかりしたオブジェクト指向 (Object Oriented)
の文法体系をもつことで、しばしばJava言語との類似が指摘される言語です。
(実際はPythonのほうがJavaよりも5年も早く生まれたのですが)
プログラムの書き方はおおむねC言語など現在主流の言語とよく似ていて、
習得しやすいはずです。
C言語やJavaとの最大の違いである、
「制御構造を字下げで表現する」
という文法は若干奇抜ではありますが、
慣れると見た目もスマートで、かえって書きやすい、
という使いこなしがいのあるヤツです。
Pythonはオブジェクト指向であることもあり、比較的
「きっちりした」書き方を好む言語です。
Perlのような記述の省略形はあまりないため、
Perlのように「数行書いて使い捨て」という感覚では使いにくいと思います。
むしろ、手軽には書けるものの、
もう少し汎用的に使える便利なツールを書くのに使うと効果抜群です。
オブジェクト指向というほかにも、Pythonには次のような特徴があります。
- 無償で配布されており、改変しても販売できるなど、
GPLよりも緩いライセンスが設けられています。
- 多くのプラットフォームをサポートしており、
環境に依存しないコードを書くことが出来ます。
- テキスト処理、
インターネット関連など各種処理を行う多彩な拡張モジュールが本体と共に配布されています。
- 世界中のPythonハッカーにより開発された膨大な寄贈ソフトウェアがインターネットを通じて無償で入手できます。
- Tk、gtk+、Qtという、
現在代表的な3種類のGUIツールキットライブラリを扱うライブラリが高い完成度で開発されています。
- よく整備されたHTML文書のドキュメントがついてきます。
- 処理速度は、かなり遅いです。
- 日本語のテキスト処理は、非常に苦手です。
大きな原因は2つあります。ひとつは1998年まで、
Pythonを本格的に紹介した日本語の書籍が現れなかったこと、
もうひとつは、Pythonがバージョン2.3の現在に至るまで、
日本語を扱う機能を持っていないことです。
Pythonの内部では、日本語もアルファベットも単なるバイトの並びとして扱われます。
Python 1.6以降、Unicode文字列を扱う機能もサポートされたのですが、
今度は日本語の文字コードをUnicodeに変換するCodecがサポートされておらず、
日本語に対する処理は充実しているとは言えません。
ただしこれは、日本の有志の皆さんによってCodecやパッチの開発が進んでおり、
今後急速に整備されていくと思われます。
セクションのサブメニューに戻る
(first uploaded 1999/10/08 last updated 2003/08/14)