Web系エンジニアを目指すブログ

日々の学習で感じたことをアウトプットしていきます!

#3【Ruby】『プロを目指す人のためのRuby入門』を読んだ感想

Rubyの勉強をするにあたって、『プロを目指す人のためのRuby入門』いわゆるチェリー本を読んだので感想をまとめたいと思います。

前提

  • 筆者は前職でC#によるWindowsアプリの実務開発経験あり(ただし、期間は8ヶ月程度で簡単なアプリしか開発していなかったため、技術力は全くついていないです)
  • ProgateやドットインストールでRubyの基礎学習終了済

良かったところ

  • 著者が有名なエンジニア

著者の伊藤淳一さんはYouTubeでプログラミング関係の動画をアップされており、技術ブログなども多数執筆されています。それに加えて、チェリー本というあだ名があるくらい親しまれている本なので、読んでいく中で「Ruby本で迷ったらとりあえずこれをやっておけば大丈夫だろう」と思いました。

  • Ruby初学者にとってもわかりやすい説明

専門用語も噛み砕いて説明されており、読み進めていてもめちゃくちゃ難しくてわからないということはそれほどありませんでした。

  • Column欄がためになる

初学者がコードを書く中で疑問に思うであろうポイントをColumn欄で解説してくれているのでスッキリしました。

悪かったところ

  • サンプルコードが見にくい

通常プログラミングの技術書では、サンプルコードを記載しているところはVisual Studio Codeのような色づけをしていることが多いのですが、本書はグレーの背景に黒字でサンプルコードが書かれているだけでそういった色付けが一切なかったので見にくかったです。

本書の最初の方に「「まったくプログラムを書いたことがない」というプログラミング未経験者は対象となる読者から外れます 」とあるので当然なのですが、オブジェクト指向の概念について直感的にわかりやすい説明がなかったのが残念でした。図や絵を使った解説が載っているネット記事などもあまりなかったので、Ruby初学者の多くが読むであろう本書に掲載されているとありがたかったです。

  • テストにMinitestが採用している

本書で採用しているテストがRSpecではなくMinitestである点が残念でした。Minitestを採用した理由として「特別なセットアップが不要」「Rails開発時にも活かしやすい」とあり、その理由もわかるのですが、シェアが高いRSpecでの解説の方がありがたかったです。

学んだこと

  • Rubyの基礎的な文法についてざっと復習できた

Progateやドットインストールで文法は学習していましたので、その復習のような形になりました。初めて知った文法(moduleなど)もあったので、追加の教材としてはもってこいだと思いました。

  • 完璧に理解する必要はない

本書の最初の方で著者が「わからなくなったらインデックスを作るという気持ちで読み進めればいい」というようなことを書かれておりました。そのため、「難しくてもあまり気負わなくていいんだな」というスタンスで読めました。

  • ネット記事よりも体系立てて説明されている

特にオブジェクト指向の元となるクラスやインスタンスあたりの説明は、サンプルコードが豊富だったため、「こういう風に書くんだな」というイメージがつきました。

  • 良いコードと良くないコードのサンプルがある

あるサンプルコードを提示して、さらに「こういう風にもっと簡単に書けますよ」というリファクタリングの例があり、エンジニアの方の思考方法がわかりました。最初から簡潔なコードで説明されていると初学者の私にとっては「どうやってこんなコード思いつくんだ?」と思ってしまいますが、リファクタリング前後のサンプルコードがあるのは良かったです。

難しかったこと

  • Minitestが難しい

テストコード自体を教材で学習したことがなかったのもあり、テストについての説明はあまり理解できませんでした。個人的には、あらかじめMinitestについて基礎を説明している記事や教材などを読んでおいた方がスムーズに読み進められるのではないかと思いました。

  • 第8章以降が難しい

第8章はモジュールについての解説なのですが、こちらはProgateや私が学習したドットインストールの教材では触れられていなかったので、この章あたりからかなり難しく感じました。そのため、「頭にインデックスを作る作業」という気持ちに切り替えて、理解できなくてもあまり拘泥せずパッパと進めました。