初歩から学びたい人におすすめのruby入門書籍とその後のステップアップのための書籍

Ruby


日本で最も人気のあるプログラミング言語のうちの1つであるruby。このプログラミング言語を勉強しようとしている人は筆者の周りでも非常に多く、「どうやって学べばいいの?」「なにかオススメの本ってある?」という質問をよく頂きます。

今回の記事ではプログラミングを初めて学ぶ際にrubyを選択しようと考えている人におすめの書籍(解説書、ハンドブックなど)をご紹介していきます。

書籍を買うことの利点

プログラミング学習ニーズの上昇に合わせて、プログラミングスクールが各地で開催されていたり、インターネットで無料で勉強できるツールが日々生まれています。プログラミングスクールに行けば先輩のエンジニアや講師の人たちに直接指導を受けながら勉強することができます。Progateやドットインストール、Codecademy等のようなサービスを使えば無料でRubyを勉強することができるような時代です。

では、あえて書籍を購入して勉強するメリットは何なのでしょうか?

体系的に学習できる


書籍を購入して勉強するメリットは大きく分けると2つあります。そのうちの1つが「体系的な学習をすることができる」という点です。無料で使える動画学習サイトなどでは、どうしても学習するポイントが偏りがちです。どちらかというと実践的なチュートリアル形式のものが多く、全体像が見えないまま学習が進んでいってしまう傾向があります。

こういったWebサービスはもちろん運営者の方がしっかり構成を考えられた上で作られているのですが、やはり本を出版する場合の方がより構成や内容が考えられて作られています。本は無料で出版できないため、製作者側には責任感が生まれますし、書籍を作れるエンジニアは圧倒的な技術力や経験を持っています。

解説がどこよりも丁寧

書籍の場合、その多くは解説が非常に丁寧に書かれています。Rubyのことをきちんと理解し、それを実用レベルで使えるようになるための説明が書かれています。むしろ、丁寧に書きすぎてボリュームが出てしまい、初心者にとって全部インプットすることが難しいくらい内容が盛り込まれている場合もあります。

はじめてプログラミングを勉強する際には、そのボリュームのある内容を全て一度に覚えようと詰め込むと挫折してしまいます。なので最初は理解できる点から頭に入れていき、何度か繰り返し読む中で徐々に全体を理解できるようになれば大丈夫です。

基本的には初心者向けの書籍を1冊完璧に読み終えることができればRubyの基礎知識はつくようになり、実際の開発に使えるスキルがつきやすくなります。

たのしいRuby

まずいちばん最初にオススメしたい書籍が『たのしいRuby』です。この書籍は多くのIT企業の書庫にある有名な書籍です。初心者がつまづきがちなプログラミングにおける「クラス」の概念を図示によってわかりやすく説明してくれていることからわかるように、できるだけ初学者でもプログラミングへの興味を損なわず、楽しみながら勉強ができるように構成されています。

実際にこの書籍を購入した人の感想にはこのようなものがあります。

「Rubyの基礎を総まとめするつもりでこの本を通読したのですが、私はPHPは少しかじったものの、本格的なプログラミングはRubyが初めてだったので、結果としてRubyという言語を通してプログラミングの仕組みの理解が深まり、かつ、Rubyという言語に対する愛着が深まりました。

2002年に初版が出版されてから、さすが10年以上も出されている本だけあって、それぞれの解説がシンプルで洗練されているといった印象です。

プログラミングのほんとの初心者にはレベルが高いかと思いますが、他の言語を使っていてRubyの概要を知りたい方や、ある程度Rubyをいじり始めていて改めて全体像を理解と整理しておきたい方などに、特に最適かと思います。」

リンク: Amazon レビューより

このレビューにも書かれていますが、10年以上アップデートがされ続けているベテラン書籍であり、それだけ長く読まれ続けていることから内容の良さが理解できると思います。また、「プログラミングのほんとの初心者にはレベルが高いかと思います」と書かれていますが、筆者の周りの初心者の方は特に問題なくこの書籍を理解することができているので安心してください。

作りながら学ぶRuby

この書籍はそのタイトルにもあるように「実際に自分の手を動かしながらRubyを学んでいく」というスタイルの内容になっています。練習問題が出題され、それを自分の手元で実行してその結果を出してみるという訓練ができます。

プログラミングを勉強する時には自分の手で実際にコードを書いてみることも大切になります。ずっと本を読んでいるだけだとつまらなくなってしまいます。プログラミングの楽しさはプログラミングをやることでしか得ることはできません。

実際にコードを書くことで、「あなたの人生で初めてのバグ」に出会うこともできます。プログラミングにバグは付き物で、プログラミングをやる限りバグから離れることはできません。つまり、良いエンジニアはバグの対処が上手です。いちはやく原因を突き止め、それの解決をすることができます。これはエンジニアの基本中の基本のスキルです。本を読むだけでは、そんなバグに出会うことはありませんが、この書籍では実際にあえてバグを出力させてみたり、練習問題を解いている時にバグに出会うことができ、その対処法を学ぶことができるようになっています。

作りながら学ぶRuby

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

クローラーという言葉をご存知でしょうか?Webサイトをシステムによって巡回し、そのデータを取得することクローリング(スクレイピング)と呼び、その実行するスクリプト(プログラム)をクローラーと呼びます。

この書籍では、Googleの検索結果をRubyのスクリプト(プログラム)によって取得したり、Amazonのデータを取得したり、Youtubeで任意のキーワードの検索結果から動画を取得したり、株価情報を取得するといったクローラー開発の手順が書かれています。

クローラーの開発はRuby初心者にとって非常に良い勉強です。なぜなら、Rubyを使ったWebサイトの開発ではその大部分をRuby on Railsに委ねることになり、Rubyをそこまでゴリゴリ書くことはあまり多くないからです(初心者の場合)。しかし、クローラー開発の場合は全てRubyを使ってスクリプトを書くことになります。取得するデータの指定をしたり、取得したデータの編集、保存など全てRubyを使って行います。

先に紹介した2冊のどちらかが終わったら、是非この書籍を購入してみてください。

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

Ruby逆引きハンドブック

この書籍はこれまで紹介した書籍とは違い、「ハンドブック」としてあなたの学習をサポートしてくれます。A5サイズの手元に置きやすい大きさになっていて、Rubyの基礎項目が逆引き形式で調べることができるリファレンスになっています。

『たのしいRuby』などをやったあとにはおそらく実際にコードを書いて開発を行っていくと思うのですが、その開発途中で「あれ、ハッシュってなんだったっけ?」「環境変数ってなんだったけ?」などのような疑問が必ず出てきます。そんな時にこの本が机に一冊あれば、一発で疑問を解消することができます。

もちろんこのような疑問はGoogleで検索しても良いのですが、検索結果に出てくる記事は必ずしも正しいとは言えず、その内容の良さもバラバラでしすし、フォーマットもバラバラです。リファレンスハンドブックを持っていれば、いつもその本を使うことで素早く、効率的に調べることができるので、こちらの書籍は一家に一冊欲しいですね。

Ruby逆引きハンドブック

パーフェクトRuby

ここからは脱初心者を目指す人のための書籍の紹介です。『パーフェクトRuby』はRubyの基礎を身に付けた人が、次なるステップとして「いかに良いコードを書けるか」「Rubyのベストプラクティス」「実践で使えるテクニック」などが収録されています。

初心者向けの本では「いかにRubyを使ってプログラミングができるようなるか」ということが目的でしたが、脱初心者の書籍では「いかに良いコード(可読性・保守性・パフォーマンスなどを考慮したコード)を書くことができるか」という点を学習することが目的になります。

『パーフェクトRuby』

メタプログラミングRuby

Rubyはメタプログラミング言語だと言われます。少し難しいかもしれませが、「メタプログラム」とは、「コードを生成するコード」のことを言います。もう少し砕いた言い方だと、「より抽象的な記法を使ってコードを書くことにより、動的にコードを生成するコード」という説明ができます。

ここではメタプログラミングについての理解が目的ではないため割愛しますが、Rubyというメタプログラミングの特徴を理解するための書籍が『メタプログラミングRuby』です。このプログラミング言語の特徴をしっかりと理解することで、エンジニアとしてのスキルレベルを1つ上に進めてくれる1冊なので、そろそろRuby力をもう一段階上げたいとおもった時に読んでみましょう。

メタプログラミングRuby』

おわりに

ひとまず初心者の書籍を1冊購入して、じっくり読み込んでみましょう。プログラミングというのは奥が深く、とても楽しいものなので、できれば本を早く読み終え、実践に取り掛かってみましょう。

>>リモートワーク案件も充実!Rubyのフリーランス求人案件をクラウドテックで探す

関連記事