2013/03/30

『パーフェクトPython』の読み進め方、更に一歩進むための書物たち

3/16に行われた PyFes の会場で、技術評論社から発行された『パーフェクトPython』のプレゼント大会が行われ、見事1冊ゲットした。450ページ強の書籍を隅々まで読むには時間が足りないため、ざっと一読した印象と、本書を読んだ方への補助線のようなものを引いてみたいと思う。

導入〜言語仕様

導入である1章、続いて言語仕様の解説が9章まで続く。カバーに「Python 3.3対応」と謳われており、実際のところ本書はPython3.3の入門書だ。基本的な文法は同じなのであまり気になることではないが、Python 2系に関する解説は基本的にない。クラスに関する機能を2系でも使いたい、あるいは特定のサードパーティモジュールを使いたいという方が本書を手に取られるときはご注意いただけると良いのではないかと思う。サードパーティモジュールのPython 3への対応状況は以下にまとめられている。
PYTHON 3 WALL OF SUPERPOWERS
逆に、Python 2系をずっと使ってきて、3.3がリリースされたのでそろそろ真剣に以降しようかと考えている読者にとって、本書は良い選択だと思う。

実践

10から14章は「実践的な開発」と題されている。ただ、中を読んでみるとコマンドラインツール、GUI、テスト、Webアプリケーションなので、これは「Pythonを使ったアプリケーション実装のバリエーション」を紹介するパートだと理解すればよいだろう。
それぞれのテーマがそれだけで1冊の書籍になるような内容なので、読む際にも全体像を把握する事に主眼を置いて、詳細は紹介されているURLや参考文献などを見ると良いだろう。
Webアプリケーションに関する書籍は沢山あるので、それ以外の分野に関して、僕が読んだ事のある書籍を挙げておく。ただ、残念な事にすべて英語の書籍であること、またPython 2系を想定して書かれているものが多い。タイトルの後ろに出版年を記しているので、合わせて参考にしていただきたい。
テキスト処理:
"Text Processing in Python" (2006)
GUI:
"Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming" (2007)
テスト:
"Python Testing: Beginner's Guide"(2010)

適用範囲、環境構築

15から19章は「適用範囲」と題されていて、こちらはPythonの幅広いサードパーティモジュールを分野ごとに紹介しているパートだ。こちらも限られた紙幅なので、本書を読む際には「こんな事ができますよ」というきっかけ作りにお役立ていただけると良いだろう。
また、付録として環境構築の方法が紹介されているのだが、Mac OSとLinuxではそれぞれCコンパイラの環境をインストールすることが記載されているのに対して、Windowsにおいてはその記載がない。Visual Studio 2010がインストールされていない環境では、本書で紹介されたインストール例が実行できない場合があるのでご注意いただきたい。
Recent Windows Changes in Python 3.3

話はガラリと変わって...

編集の現場から遠ざかって何年か経つので、こういう事をお気楽に言えるのだけれど、最近のプログラミング言語はできる事の範囲が広く、1冊の書籍でその全てを紹介するのはとても難しい。「Battery Included」を標榜するPythonのような言語の場合、言語仕様そのものはコンパクトでも、標準モジュールをくまなく網羅する事さえまず不可能だろう(標準ドキュメントを印刷するとどうなるか想像してみて欲しい)。
だからこそ、本書のように書籍としては言語のコア部分についてはある程度を押さえて、あとはカタログ的にさまざまな機能を紹介するタイプの書籍が現実解となる。読み手としても歯がゆいだろうけれど、作り手側だって歯がゆい気持ちなのだ。それは我々が相手にしている、情報技術が解決すべき問題領域がそれだけ広くなっているということの証左でもある。新たな敵は常に雲の彼方から飛来し続けるのだ。