プログラミングとは?を初心者にわかりやすく解説する本に出会った。

名前が文字化けして、時々メール本文で名前が「若??」になる、エディター若栁です。

先月から「エディターが学ぶ初めてのプログラミング」を、今月からは「英語勉強法」についてを書いております。
今回は、プログラミングやその周りのことを勉強する中で、あーこれを最初の段階で読んでおいてよかった、という本をご紹介します。

プログラミング関連の教本やテキストは恐ろしくたくさんあって、自分にあった本を探すのはかなり骨が折れます。初心者向けの本をネットで検索して、このページにたどり着いた方もいらっしゃるかもしれません。少しでもそんな方の選択肢を増やすことができればいいなーと思います。

「教養としてのプログラミング」

教養としてのプログラミング講座 (中公新書ラクレ)
清水 亮
中央公論新社
売り上げランキング: 60,301

プログラミングの考え方を身につけるために、と勧められて読んだ本のうちの1冊です。

おすすめポイント1:超初心者でもわかりやすい

文系の学生さん向けに行われた講義をベースにして書かれた本なので、専門用語がバシバシ出てくることもなく平和に読めます。新書サイズの本ですが、図や写真もいいタイミングで差し込まれるので飽きません。
まえがきには

本書は「プログラマーの視点」を提供するガイドブックなのかもしれません。

とあるように、プログラミング的なものの見方を教えてくれます。

こういう”はじめての〜”のような本を手にとった時、「プログラミングの歴史を遡ってみる」みたいな壮大なテーマから始まっていると、その時点で読みたくなくなりますが、この本では、その辺りは本編とは別にコラムで書かれているので、あとで読むこともできるのもいい点です。

おすすめポイント2:日常生活に置き換えて説明しているから理解しやすい

プログラミングを日常生活のできごとに置き換えて説明しているので、内容を想像しやすかったです。
本の中でページを割いて説明されていたのは、おつかいを頼んだママと頼まれた10歳の杏花ちゃんとのやりとりでした。

ママから1000円を渡され、お使いに行くことになった杏花ちゃん(10歳)。
「安かったら卵を買って来てね」とママに言われたものの、「安かったら」の安いはいくらからか?がわからないので、スーパーでLサイズの高い卵を買って帰りました。お使いを終えて帰ったものの「安かったら、って言ったじゃない・・・」とママは不機嫌。これは、どっちが悪いでしょうか?
→安い、という曖昧な定義ではなく「1パック200円よりも安かったら」と、明確な金額をママが伝えていれば、ママが期待していた結果になる。安いかどうか、杏花ちゃんには判断ができないので、ちゃんと金額を伝えてあげていればよかったよね、というお話です。

プログラミングに置き換えると、ママ=指示を出す人=プログラマーが、200円よりも安かったら、という条件を提示=プログラムで、杏花ちゃん=コンピューターに指示 していれば、期待した結果が得られるよね、という解説がついていました。「コンピューターは期待している通りに動くのではなく、プログラミングされた通りに動く」ということがわかります。こういった身近な事柄とリンクさせて、いろんな角度から「あなたの日常にある、ありふれた光景も実はプログラミング」という視点から切り込んで説明してくれます。身近な出来事から連想できるとイメージも膨らませやすいので、書かれたコードを「これがプログラミングです!!」と出されるより、理解はしやすいかなーと思います。

本の後半には、アルゴリズム・ハッシュ・ループ処理、など、徐々に用語が出てきますが、これらも日常の事柄と重ねて解説されています。さらに「実社会での応用」というトピックスもあって、日常生活のこういうシーンでこの考え方を取り入れると、今よりももっと便利になりますよね、と、プログラミングの考え方を意識して日常に取り入れることを勧めてきます。

まとめ

プログラミングの考え方を日常生活に置き換え、色々な例を挙げて繰り返し説明してくれる本だったので、途中で投げ出さずに最後まで読めました。すでにプログラミングを長くやっている方からすると「プログラミングとはそういうものだ」という当然のことを、同じ背景を持たない初心者に説明してくれている本なので、今からプログラミングを始めようとしている方が、プログラミングの仕組みや、考え方を理解するためにオススメの1冊です。

以上、本の紹介を終わります!