前回のエントリで紹介した本を2週間くらい前に読み終えたんだけど、感想をどうまとめたらいいのかよくわからなかったのでブログに書くのを放置してしまっていた。というわけでお盆休みが終わる前にまとめておこうと思います。

「Webプログラミングが面白いほどわかる本」を出版させてもらいました｜Soichiro Yoshimura｜note

所感

著者のsifueさんのnoteにもあるように、これはN予備校のプログラミングコースの一部を抜粋してまとめられている本で、主な読者層はプログラミング経験がほとんどない高校生を想定しているっぽい。それなら自分でも環境をセットしてさくさく読めるだろ〜、と侮っていたけど、Mac / Win の環境の違いを吸収するために Vagrant + Virtual Box で Ubuntu を仮想マシンとしてブートさせるところから始めるように書かれていて思わず唸った。「Mac だからプログラミングに関するセットアップあれこれは今更やらんでもよくない？と」いう自分の気の緩みに水をぶっかけられて引き締まるような思いになった。そのあとの章でもあらゆる Linux コマンドや tmux の使い方のレクチャーが懇切丁寧に繰り広げられててとても勉強になったし「オレ、Linux について何も知らんでプログラミングしてたんだな…」と気付かされた。

この本の一番いいところ

各章の内容について逐一感想を書いているとキリがないので、絞って書く。 特定のプログラミング言語の入門としてではなく、「Web プログラミングに必要とされるツールや概念」の解説に重点を置かれて書かれているのがよかった。Ruby や JavaScript で「Hello, World!」とブラウザやコンソールに出力させるだけなら、書籍を読んで環境構築をするより今では Progate などのプログラミング教育サービスが充実しているので、それらを利用してブラウザ上のエディタでコードを書くほうが早い。 この本ではプログラミング体験の第一歩を「Hello World」と表示させる事に設定していない。何かしらのサンプルプログラムを作り上げる、という目に見える形の成果よりも、仮想環境の構築・シェルの操作・ネットワーク通信・アルゴリズム改善・Git でのリポジトリ管理などを重要視し、ひとつひとつを「第一歩の体験」として読者に提供することで、現代の職業Webプログラマに必要な知識を横断的に習得させようとしている。やり方は地味かもしれないが、これがとても素晴らしい点だと感じた*1。 先ほど書いたように、所有しているPCのOSによる違いを吸収するために Ubuntu を動かす体験を提供していることで、プログラミング初心者かつWinユーザーがよく陥る「環境構築でのつまづき」を回避するだけでなくその先にあるプログラミング体験の面白さに最短で読者を導いている。そのため過去にプログラミングに挑戦しようとして失敗した過去がある人や、IT業界にいてもモダンな開発手法に中々触れられないのでいちから勉強したい、という人にはまず第一にこの本を進めたい。特定の各言語への入門はこの本を読み終えた後で十分だし、学習成果を充実させられると思う。