Tatehitoの技術メモ

ソフトウェアエンジニアです。いろいろ書きます。

感想『プロを目指す人のためのRuby入門』

まずは「Rubyとは何ぞや!?」を勉強しよう!ということで『プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)』を12月末に購入し、先日全ての章を読み終わりました!

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

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

blog.jnito.com

伊藤さんの技術記事は非常に読みやすくて好きなのですが、本書も「伊藤さんが書いたんだなーっ」というのが、立ち読みの時点で感じられる読みやすさでした。

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

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

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

一言でいうと、「Rubyとはこういうもんだ」というのを一通り知れた状態になりました。一度知ることができたので、調べながらであればある程度のコーディングができるような感じ。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

プログラミング言語の基礎知識があれば、問題なく理解できると思います。僕の場合はJavaの経験があるので、Javaとの対比をすることでRubyの特徴をつかんでいくことができました。

逆に言えば、プログラミングの基礎がないと難しく感じると思いますので、プログラミングの基礎知識については先に勉強しておくことをオススメします!