EDIT MODE

モバイルアプリ開発に関することを書いています

「独習Python入門-1日でプログラミングに強くなる」を読みました

Python で Android アプリの Publishing を自動化するのをやりたくて、Python 入門本を探していたところ、会社の人が本書を献本いただいたという話しを聞き、お借りして読んでみたので感想を書きます。

読んだ本はこちらです。

gihyo.jp

本書の概要

本にも対象読者が記載されていますが、これからプログラミングを始める人を想定した内容となっています。

Python 言語については、その題材として用いられている側面が強く、前半は Python に限らずプログラミングの基本的な内容がメインです。後半では、Python の言語仕様やオブジェクト指向などにも触れ、Python でのスクレイピングや Web アプリケーション作成のサンプルを試したりと、より実践的な内容でした。

良かった点

一通り読み終えて、良かったなと思った点を挙げてみます。全体的な感想は最後に書いたので、ここでは具体的な内容を挙げながら、良かった点を書きました。

1. ソフトウェア・エンジニアとしても入門させてくれる

本書はプログラミング初級者向けなので、Python のセットアップや基本的な構文、関数とは?といった内容が続くのですが、ソフトウェア・エンジニアとして必要となる知識についても丁寧にフォローしてくれます。

ざっくり書くと、文字コード、絶対パス・相対パス、DRY、関数を上手に作るコツ、テストを書く理由、プロトコル(主にHTTP)などなど。最初は知らなくても何とかなるけど、良いエンジニアになるためには避けては通れないことが分かりやすく書かれています。

プログラミングを学び始めるタイミングで、これらのことを一緒に学べるように構成されているのは、素晴らしいなと思いました。

2. 広範囲な内容にも関わらず、要点は丁寧に説明されている

本書で扱っている内容は、概要でも書いた通りかなり広範囲です。オブジェクト指向や例外処理、ユニットテスト、さらには Python を使ったスクレイピングや Web アプリケーションについても触れています。

これだけの内容にも関わらず、くだけた分かり易い比喩や図解などのおかげで、基本的な部分を無理なく理解できるように工夫されているなと感じました。 もちろんサンプルコードは GitHub で公開されているので、動くコードが簡単に試せるようにも配慮されています。

3. 最終章のまとめのクオリティが素晴らしい

最後の1章は、まるまる本書全体のまとめになっています。このような構成は初めて目にしたのですが、すごくいいなと思いました。各章で重要なポイントが簡潔にまとめられていて、後でさっと読み返したいときなどは、このまとめの章を読むだけでも復習になりそうです。

さらに、読者が今後の学習の参考になるようにと、筆者の考えやおすすめの本を紹介しているのですが、きちんとテーマごとに分けて解説しているため、プログラミング初級者にとってはものすごく参考になりそうだなと思いました。

物足りなかった点

良くなかったと思った点は特に無かったので、個人的に物足りなかった点を書きました。

1. Python についてもう少し触れて欲しかった

プログラミング入門としての側面が強いためか、Python そのものについては本当に基本的な部分を抑えるに留まっているなと感じました。 ただその点は筆者も意図しているらしく、本書の中で Python の入門本はぜひ別途読んで欲しいと書かれているので、なるほどなと思っています。

2. もう少しボリュームがあっても良かったかも

これは単に既に知っている内容が多かったから、そのように感じただけだと思いました。

とは言え、スクレイピングや Web アプリケーションの章については、もう少しボリュームがあったら良かったのになと感じました。サンプルは本当にミニマムなコードなので、もう少し実用性を感じられるやや大き目のサンプルだと良かったなと感じました。

個人的な感想

前述しました通り、本書はプログラミング入門本としての側面が強いので、既にプログラミングの経験がそれなりにある人には、簡単すぎる内容かと思います。なので、そういった人が Python を新たに学びたいというケースで選ぶ本では無いように思います。

しかし、これからプログラミングを始めたい、勉強したいという人には、とても素晴らしい本だと思います。今後、もし誰かに「プログラミングをどうやって勉強したらいい?」と相談されることがあれば、僕はきっと本書をすすめると思います。本当に素晴らしい入門本だと思います。

ちなみに、中・上級のプログラミング経験者が読むメリットもあると思っています。初級者に何を説明すればいいのか?それらをどのように説明すると理解しやすいのか?といった視点で読むと、なるほどなと思える部分が多々ありました。普段当たり前のようにやっていることを、うまく説明するのはとても難しいですから...。

最後に一通り読んでみて、「プログラミング入門」とか「Python で始めるプログラミング」みたいなタイトルの方が良かったのになという感想で終わりにしたいと思います。