「プロを目指す人のためのRuby入門」を読んだ感想
一応、お仕事で Ruby やっているプロだけど、本の内容が気になったので買ってみました。
昨日、先行販売している紀伊國屋書展 新宿本店で購入(正式発売日は11月25日)。
新宿紀伊国屋は残り2冊だった。危ない。ギリギリだったけど、なんとかプロになれそうだ! pic.twitter.com/m44TiPjNez
— 神速@Rubyエンジニア(プロ) (@sinsoku_listy) 2017年11月20日
ラス2だったので、結構ギリギリ。そして、一気に読んでみた。
プロRuby本を読了した。索引除いて445ページでなかなか厚いけど、なんとか1日で一通り読めた。(流石に写経まではしてない)
— 神速@Rubyエンジニア(プロ) (@sinsoku_listy) 2017年11月20日
技術書は油断するとすぐ積み本に進化するので、意識高まった時に読み切った方が良い。
私のRuby力
どう見ても、Ruby入門者ではない。
本の感想
対象者について
本書はプログラミング未経験者向けの本ではない点に注意してください。 http://blog.jnito.com/entry/2017/11/20/054316
著者の @jnchito さんも自身のブログで紹介しているように、プログラミング未経験者向けではないです。 ただ、「入門書なので Ruby 上級者には役に立たない」なんて事もなかったです。
初心者と中級者は悩む必要なく買って良いと思います。 将来、プロとして Ruby のプログラミング書くなら、これだけ実践的で分かりやすい本を買っておくのは良い投資です。
gem のソースコード読んだり、メタプロ使いこなすような上級者に関しては9割知ってる内容だと思うので、ざっと目を通して Ruby 雑学*1を理解したあと、周りの初心者にオススメするのが良いです。 上級者の方々は若いエンジニアに教える機会も多いだろうし、そういう時に役立つと思います。
Windows 環境をフォロー
Web 上には動作環境の記載されていない情報が溢れているので、初心者だと問題が起きたときに調査に時間かかることが多い。
本書には Windows 環境で起こる問題への対応方法が丁寧に書かれているので、入門者でも安心して読めそうです。
エラー内容を日本語で説明
「エラーメッセージを読み、理解してからソースコードを直す」といった慣れた人にとっては当然の所作を、入門者でも分かるように手順を1つずつ説明していて、このあたり流石だなと読みながら感じました。
英語のエラーメッセージに日本語訳もつけてあるので、英語が本当に苦手な人でも本書は理解しながら読み進められると思います。
さらに「英語が苦手でも辞書片手に調べるのが大事」「Webの記事は注意して読みましょう」など、英語から逃げずにエラーメッセージをちゃんと読む姿勢についても言及されていて非常に良い。英語を読むのは本当に大事。
サンプルコードが豊富
サンプルコードは基本的にテストを先に書くようになっており、自然とTDDの基本的な考えを学べるようになっています。
Ruby は動的言語なのもあってテスト書くのがとても大事なので、「テスト書くのが普通」になるような例題の作り方は素晴らしいと思いました。
個人的に勉強になったもの
だいたい知っている内容だったのですが、個人的に「へぇー」と思ったのは下記の2つ。
- splat展開で配列を結合する話
::
でメソッド呼び出しできる話
仕事で使うかは微妙だけど、Ruby 雑学として勉強になりました。 あとは「ここ数年使ってないけど、そういえば(そんな記法も)あったな」て内容がちょこちょこ紹介されていて面白い。
入門者に紹介したくなった項目
本読みながら、「ここに1行追加して入門者に紹介したい!」って事が1つあったので、ブログで紹介しておきます。
Predicate Methods / Bang Methods
英語だと?で終わるメソッドは「Predicate Methods」、!で終わるメソッドは「Bang Methods」と呼ばれています。
Web の記事を読んだり、検索する際に知っていると少し便利です。
本書の良くないところ
個人的に何かを勧めるときはデメリットも挙げておくのが好きなので、あえて書いてみる。
プロRuby本を読んでる。すごく細かい記法も書かれていて「たしかにプロなら知ってるべきだ」って気持ちと「その読みづらい記法は紹介せず、闇に葬って欲しかった」って気持ちの2つがある。
— 神速@Rubyエンジニア(プロ) (@sinsoku_listy) 2017年11月20日
と Twitter にも書いたように、リーダブルじゃない記法まで紹介されていて少し気になりました。 入門書なのに、メインの章内でほぼ使わないような記法まで紹介されていて、入門者にとっては覚えること多くて少し大変かも?
とはいえ、微妙な記法には必ず「極力使わない方が良いです」と説明されていますし、「プロを目指すため」なら知っておくべきなので、紹介されている方が良い気もする。
無理やり挙げた感じのデメリットです。
というか、他に挙げるところが思い浮かばないくらいに良い本だったんですよ。
まとめ
「分かりやすく、読みやすい。そして、実践的。」
と、Ruby 入門としてはかなり良い本ではないかと思います。
あと、個人的にはサンプルコードが豊富で写経しやすい本なので、電子書籍よりは紙の方が便利かなと思いました。
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで
- 作者: 伊藤淳一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/25
- メディア: 大型本
- この商品を含むブログを見る