この本は単なるPythonの入門書でもなければ、リファレンスでもありません。「プログラミングを考え方から学ぶ本」です。説明するのにプログラミング言語が必要なために、たまたま人気のPythonを使っているだけです。原題の「Learn to Code」がそのことを表しています。

この本で学べるのはプログラミングに共通する基本なので、後にPython以外の言語を学ぶ時にも効いてきます。600ページありますが、絵や写真を多用し、同じことを何度も繰り返して説明しているので、プログラミングが初めてでも問題なく学べます。

本物のプログラミング入門書

それでいて内容は本格的です。著者のEric Freeman氏は、他にもHead Firstシリーズを執筆していますが、どれも評価が高いです。なかでも「Head Frist デザインパターン 」(共著)は評判が良く、米国のアマゾンで500以上のレビューが投稿されています。本書にもデザインパターンの著者ならではの説明が随所に伺えます。

グラフィカルユーザインタフェース(GUI)の説明では、MVCパターンを用いています。入門書では珍しいですが、長いコードを書くようになれば、ソフトウェアの設計方法はいずれ必要になります。はじめは理解できなくても、「プログラムをパーツに分ける考え方がある」ということを覚えておけば、途方に暮れないで済みます。

ソートや再帰といったアルゴリズムの基本も丁寧に説明しています。特に再帰の説明はうまいです。フィボナッチ数例を例に用いることはよくありますが、激増する計算量を回避する手段として辞書の説明にうまく繋げています。さらに、フラクタルの話に発展させています。

プログラミングとは抽象化すること

関数とクラスを「コードを抽象化して再利用できるようにする手段」というように抽象化」という言葉を説明によく使っています。この本を読み始めた時に、最初に好感を抱いたのがこの点です。プログラミング自体が世の中の営みを抽象化することなので、その概念を意識することは重要です。このような説明の仕方が、この本の特徴を反映しています。

本物のプログラミングの考え方を学びたい方に間違いなくおすすめの本です。プログラミングが必修の大学ならテキストとして最適です(重さに対する不平は不可避ですが・・)。そして、プログラミングを学ぶビジネスパーソンに読んでほしい一冊です。物事を抽象的に捉えることの面白さをプログラミングを通して理解できるはずです。

電子書籍はオライリーさんで購入できます

重量がそれなりある書籍ですので、電子書籍をお求めになる場合は、以下の発行元のオライリーさんのサイトから購入できます。PDF版なのですぐにパソコンで読めます。

Head First はじめてのプログラミング――頭とからだで覚えるPythonプログラミング入門(オライリー・ジャパン)

冗長さも良いところです

購入前に唯一気をつける点は、他のHead Firstシリーズと同様に非常に冗長です(そして、アメリカンなジョークも・・笑)。これがどうしても馴染めないという声を聞くことがあります(気になる方は書店で確認してください)。しかし、説明の仕方を変えて、何度も同じことを繰り返すことで、脳に深く入り込みます。だから、この冗長さなしでは、高い学習効果は得られないのです。

独特の紙面の雰囲気は お試し版(PDF) でも確認できます。冊子で置いてある書店もありました。