「プロを目指す人のためのRuby入門」を読んでRubyに入門した

Rubyに入門する必要があったので、Rubyを書いたことがない僕でも最近話題になっていると知っていた、プロを目指す人のためのRuby入門を購入して読んでみました。
Kindleで読んだのではじめはわからなかったのですが、紙の本では全体で472ページとかなりボリュームのある本で、読み終えるのにかなり時間がかかりました。
出版からかなり期間が空いてしまっていますが、感想と良かったところを描いておこうと思います。

難易度

第1章で書かれている対象読者に「Rubyを使った仕事に就きたい人」ということが書かれており業務でのプログラミング歴といえば、1年半程度PHPJavaScriptで仕事をしてきて今度Rubyを使って開発する予定の僕にはピッタリの本ではないかと思いました。
実際、各章の例題を写経したり、いたるところに出てくるサンプルコードをirbで実際に動かしたりすることで、これまでに学んできた言語との書き方の違いを意識しつつ学習をするめることができました。
また、Ruby以外の基本的な話題や、書籍では書ききれないトピックなどは、著者の伊藤淳一さんの書かれたブログや、参考文献、読むべきドキュメントなどを豊富に記載していただけているので、本当に初学者であっても丁寧にやっていけば読破できるのではないかと思いました。

TDD、リファクタリング

この本では2章から10章でそれぞれの章の文法を理解するための例題があります。

すべての例題は、こちらで写経しました。

github.com

お題紹介からTDD(テスト駆動開発)のサイクルを説明しながら読者と一緒に例題を解いていくというスタイルでした。
TDDについての詳しい説明はありませんでしたが、

通らないテストを始めに書く
とりあえず通るように仮実装する
テストコードを増やす
本実装をする
リファクタリングをする

という一連の流れを実際に各章で体験することが出来る、良い例題でした。

その中でも、第7章の改札機プログラム、第10章のワードシンセサイザーの作成はすごく面白く進めることができました。

Rubyらしい書き方

例題が終わった後は、各章の文法をより深掘って説明されています。
すると、

この文法のこの書き方は、実は以前説明したこの書き方でも代用できます
この書き方は一応文法として紹介しておきますが、あまり業務で触れることはないでしょう

などと言った説明が散見されます。

この本でも言及されていますが、以前からRubyは色々な書き方ができる、というように聞いていたので、それを実感しました。

一度読んだだけでここで紹介されているすべてを書き方を覚えることはできないので、頭の片隅に入れつつ折にふれて戻ってきたときに、自分の進歩がわかるのではないかと思いました。

まとめ

Rubyに入門しましたが、紹介されていた資料なども読み切れていなかったりするのでこれがRubyの「門」なんだな、という感じです。
これからコードを書いていってこの本に立ち返っていくことになるだろうと思いました。