【感想】「プロを目指す人のためのRuby入門」を読み終わりました

2018年4月9日

Rubyのフリーランスエンジニアを目指している、SIerで正社員のたてひと(@khattori89)です。

まずは「Rubyとは何ぞや!?」を勉強しよう!ということで『プロを目指す人のためのRuby入門』を12月末に購入し、先日全ての章を読み終わりました!

 

この入門書を購入するきっかけは、著者の伊藤淳一さん@jnchitoのブログでした。伊藤さんは「ソニックガーデン」のプログラマとして働いていて、ブログやQiitaで技術情報を発信されている方です。

 

Rubyの参考書を選ぶ際、伊藤さんのブログでRubyの入門書を発売すると告知されていたのを思い出し、書店で手に取り購入に至りました。

 

僕はエンジニアでありながら(とは言っても最近は社内調整業務ばかりですが。。。)技術書を読むのが苦手です。伊藤さんの技術記事は非常に読みやすくて好きなのですが、本書も「伊藤さんが書いたんだなーっ」というのが感じられる読みやすさであったところに惹かれました。

 

期間としては一か月弱で読み切ったことになりますが、技術書を1冊読み切ったのいつ以来だろう…!?って感じです。(笑)仕事をしながらにしては早く読み終わったかな。

 

ということで、今回は伊藤純一さん著『プロを目指すためのRuby入門』をご紹介します。この入門書を1度読み切ったことで僕がどんなレベルに到達したか、どんな人にお勧めか、といったところを紹介できればと思います。

 

「プロを目指すためのRuby入門」はどんな本か

本書の全章を読み、各章に設けられている例題を実際に手を動かして実践したことで、以下のことができるようになりました。ちなみに僕はJavaの実務経験があります。

  • Rubyの各用語の意味が一通り把握できた。
  • 簡単なコードを読むことができるようになった。
  • 参考資料を参照しながら簡単なRubyのコードが書けるようになった。
  • 簡単なテストコードが書け、自動テストができるようになった。

一言でいうと「Rubyとはこういうもんだ」というのを一通り知れた状態になりました。1度知ることができたので、調べながらであればある程度のコーディングができるような感じですね。コーディングスピードは遅いですが。ちなみにRubyといえば「Ruby on Rails」のフレームワークが有名ですが、本書ではRailsの詳しい解説はありません。

 

特に良かったと感じたところ

サンプルコードが充実している!

各項に丁寧なサンプルコードが用意されている点。

どのコードを書き足したのか分かるように、順を追ってサンプルコードが記載されているため置いてけぼりになることなく読み進めることができました。

 

例題に取り組むことで理解が深まる!

各章で学んだ内容を使ってプログラムを実装する例題が用意されています。ただ読むだけではなく、実際に手を動かしてプログラミングすることで、理解を深めることができました。

 

例題は各章に1つ用意されています。(例題のない章もあります)本書は問題集ではないので数は少ないですが、「学習内容をおさらいし理解する」という目的にあたっては最適な量だと感じました。

 

前から読んでいくことで知識が深まるようになっている!

本書は1章から順に読んでいくことが推奨されています。前の章で学んだ知識が、後の章で登場するつくりになっているからです。

例えば、各章の例題で使用する「自動テスト」については3章と序盤で学びます。自動テストについて序盤で学ぶ構成にしている点にこだわりを感じました。

学んだ知識が繰り返し登場することにより、徐々に理解が深まっていく点が良かったです。

 

実務でつまづきそうなところの解説がある!

筆者の経験をもとに読者がどんなことに躓きそうか?を考えて書かれているように感じました。

Rubyでは同じ結果になる処理でも様々な書き方で書くことができるのですが、様々な書き方ができるということは自由度が高くなる反面、それらの書き方を知っておかないといけません。

「Aという書き方をしたときとBという書き方をしたときに同じ結果になる」と知っておかないと、コードを読んでいて躓いてしまうことがあるんです。本書ではそんな「あれ?この構文見たことねぇな?」と躓いてしまうような箇所をピックアップして説明を入れてくれています。

 

プログラミングの基礎知識がある人におすすめ

「Rubyはこういう書き方をするんだ」という基礎知識を学ぶことができる、まさに入門書という内容でした。「プロを目指す」というタイトルを掲げてはいますが、深く掘り下げたマニアックな内容は少なく、プログラミング初級者でも手に取りやすいと思います。

 

見た目が分厚く、タイトルに「プロを目指す」とあることから「自分には理解できないかも…」とハードルが高く感じられるかもしれません。ですが、難しい表現を使わずに書かれていることと、サンプルコードが多く使用されていることで、強いストレスを感じることなく読み進めることができました。

 

プログラミング言語の基礎知識があれば、問題なく理解できると思います。僕の場合はJavaの経験があるので、Javaとの対比をすることでRubyの特徴をつかんでいくことができました。繰り返しになりますがプログラミングの基礎を知らないと付いていくのが難しいと思いますので、プログラミングの基礎知識については先に勉強しておくことをオススメします!