Entry

今日買った本 - 『Pythonチュートリアル 第2版』

2010年02月23日

Python だけではないんですけれど,LL の入門書は,プログラミングをある程度こなした人にとってそれほど魅力的な書籍じゃなかったりします。というのも,この手の入門書のほとんどが,その言語の入門以前に,「プログラミング入門」的な要素を持っているから。

ま,あるにゃあるで便利な人もいるんでしょうけどね。それなりにプログラミングしている人にとってみると,「条件文とは……」みたいなところから始められても,無駄金を払った気分になってしまいます。貧乏性なだけですけど。

ということで本書なんですけれど,本書は Python のチュートリアル本。Python 作者である Guido 氏が書き下ろした手引書を,邦訳したものです。200ページちょっとと簡単に読めるし,1500円(+税)と安い。その割に,(プログラミング経験者にとっては)要を得た内容になっている。Python の入門書はたくさん出ているけれども,おそらくプログラミング経験者の Python の導入本としては,もっとも使い出のある本なんじゃないかと思います。

Pythonチュートリアル 第2版
Guido van Rossum
オライリージャパン
売り上げランキング: 4390

一方で,本書は,プログラミングそのものの初心者向けに書かれた本とは言えません。というのも,あちこちで他の言語と比較や,有名なアルゴリズム(フィボナッチ級数を求めるとか)が,何の説明もなく出てくるから。例えば,クラスについての冒頭の説明。

C++ の用語で言えば、クラスメンバは(データメンバも含めて)通常は「public」、メンバ関数はすべて「virtual」である。Modula-3 同様、オブジェクトのメソッドから引数として「オブジェクト自体を示すもの」を明示的に取るが、コール時にこれは暗黙に与えられる。Smalltalk 同様、クラスはそれ自体がオブジェクトだ。インポートやリネームのセマンティクスはこのことに由来したものだ。C++ や Smalltalk と異なり、ビルトイン型を基底クラスとしてユーザが拡張を行うことが可能である。また、C++ と同様、特殊構文を持つビルトイン演算子のほとんど(算術演算子やインデックスなど)が、クラスインスタンス向けに書き直せる。

『Pythonチュートリアル 第2版』(Guido van Sossum,鴨澤眞夫 訳,2010年,p99)

プログラミング経験者にとってみたら,クラスがどんなものなのかについて,巷の入門書にあるようなぐにゃぐにゃな説明をされるよりも,こう説明してもらったほうがすぐに頭に入ります。「C++ とはここが違うのね」とか,「Smalltalk とここは同じなんだ」とかいった具合に,既知の知識と結びつけることができるからです。反対に,こういう書き方ができるのは,言語設計者として自身の言語を自身が(客観的に)よく理解しているからだろうし,その仕様について,ひとつの設計思想なりポリシーを持っているからだと思います。

考えてみると,世界中で最もよく読まれているプログラミング言語本である K&R も,こうしたスタンスをとっています。少し言いすぎかもしれないけれども,本書は Python の K&R と言ってもいいんじゃないだろうか。

関連情報へのリンクや参照も豊富で,入門書としてまずおすすめできる本。難があるとすれば,本書の扱うバージョンが,現在主流の Python2 ではなく,ひとつ先の Python3 を主眼にしていることくらい。もっとも,このタイムラグもそのうち解消されだろうし,Python2 との橋渡しも丁寧に書かれているので,それほど問題はないんじゃないかと思います。

ともかくも,巷のくだらない入門本よりも先に読むべき本だということは,間違いないと思います(また放言)。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN