読者です 読者をやめる 読者になる 読者になる

t-hom’s diary

主にVBAネタを扱っているブログです。

Pythonスタートブックのレビュー ~徹底して比喩表現にこだわった良書

先日から気になっていた書籍 Pythonスタートブックを買ってきたのでレビューしようと思う。

Pythonスタートブック

Pythonスタートブック

ただ、Python学習の学習が目的ではなく、あくまで「プログラミング入門」として読んでいる。
プログラミング初心者に対してVBAの解説を行う際のヒントにするためだ。

Amazonレビューではかなり高評価が多く、唯一の星1つはKindle版がうまくダウンロードできなかったという書籍の内容とは関係のないものだ。(2017年3月7日時点)

星3つの中には「テーマが時代にそぐわず面白くない。説明がくどい、うざい」という辛口レビューも見受けられたがこれは上級者の意見。上級者にとって自明の事実まで親切丁寧にかかれているのでお節介に感じるのだろう。

逆に難しい・わからないという意見は見当たらず、プログラミング初心者からは概ね5つ星。ということは、まったくの初心者をターゲットにした書籍としては大成功ということになるか。

さて、本書であるが、とにかく徹底して比喩表現を用いている。

私は比喩によるミスリードがますます初心者を混乱させるという例をいくつも知っているので、最近は比喩表現の使用に慎重だった。ひとつ例を挙げると、以前別の方にプログラミングを教わったけど今ひとつ分からないという方に、「変数って浮いてるんですよね?」って質問されたことがある。

浮いてるって。。どこに!?
たぶん箱モデルでうまく伝わらず、教える方もメモリに記録されているということを知らないかあるいはうまく説明できず、目に見えないけどどこかに浮かんでいるといった曖昧な説明でお茶を濁したものと思われる。

浮いているという説明でますます混乱されていたので、メモリの仕組みからきちんと説明したところスッキリ理解していただけた。

このような体験があるため、私は比喩表現を避け、徹底して「事実・実態」の説明に拘るようになった。

ただ最近、事実に拘るあまり逆に難しくて分かりにくい解説になっているのではないかと思うことがある。

比喩表現には誤解のリスクもあるが、初めて出会う概念を既知の概念と関連づけて理解できるという優れた一面もある。適切に用いれば極めて有効な説明の手段である。いたずらに敬遠せず、適宜活用していこうということを悟ったのである。

それでPythonスタートブックである。もう一度言うが、とにかく徹底して比喩表現を用いている。ごてごての比喩表現。

つまりアンチ比喩に大きく振り切れた針をもとに戻すには、絶賛比喩中のこの書籍がよい薬になるのではないかと思って買った。

この書籍ではまずプログラミングの構成要素を、「道具と材料」に見立てて解説している。
以下に一部引用する。

たとえば、木製のイスを作ろうと思ったら、材料になる木と釘、道具としてはノコギリや金槌が必要です。

プログラミングにおいて基本となる材料とは、文字列や数字といった”データ”です。

Pythonにもプログラミングに役立つ道具がたくさんあります。その1つが、関数(かんすう)と呼ばれるものです。

ためしにプログラミング未経験者にこの道具+材料でプログラミングというものを説明してみたところ、すこぶる理解が良い。なるほど、これが比喩の力か。

まず初心者にとって、変数とか関数とか言われてもどれがどれか結びつかないのだ。何せ覚えたての言葉を使って初めて見るコードの構造を把握しようとしているのだ。

f:id:t-hom:20170308002345p:plain
無理とは言わないが難しいことである。

よく慣れ親しんだ言葉でまずはざっくりとプログラムの構造を把握するという手法は有効だと思う。
f:id:t-hom:20170308002422p:plain

道具+材料の表現はこれからもちょくちょく活用していきたい。

あとfor文、While文、If文、エラー処理などの制御を電車の路線に例えているのは面白かった。

この書籍は、徹底した比喩表現にこだわった良書だと思う。

あとがき

なんでまたPythonの本を手に取ったのかというと、ツイッターでコーヘー氏とインストラクターのネタ帳の伊藤さんがPython入門書を褒めてたのを見たので、そんなに良いなら私もソレ買って読もうと思って。

ところが完全に記憶違いで、別の本を買っちゃったという話。

お二人が良いといってたのはこちらの書籍。

独習Python入門――1日でプログラミングに強くなる!

独習Python入門――1日でプログラミングに強くなる!

たしかなんかカラフルな表紙だったなーという程度の記憶でAmazonPython入門書を検索して、「ほう、たしかに評価が高い、これに違いない」という顛末。

まぁ結果的には正解だったと思っている。
特にアンチ比喩に傾きつつあった自分には良い薬になった。

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。