
ここでは、私がRubyを独学した方法について書いていきます。
前提として、私はすでに他のプログラミング言語の経験がありましたので、完全なプログラミング初心者ではありません。
目次
購入した書籍
Rubyを学ぶために、オライリー・ジャパンの「初めてのRuby(Yugui著)」を購入しました。
この本は、新しくはありませんが、Rubyへの導入として良かったです。
また書籍以外では、Rubyのオフィシャルサイトは良い教材になりました。
Rubyの特長やチュートリアル、他言語との違いが書かれているので一度は見ておいてく事をおすすめします。
Ruby定番の書籍
他にも良かった書籍としては「たのしいRuby第5版」ですね。
これは定番のRuby参考書です。
これ一冊あればとりあえず大丈夫です。
しっかり読み込んで、演習として本書のコードを書いて黙々と練習していきましょう。
ただこの本は、もしかすると他のプログラミング言語の経験のない人にはとっつきにくいかもしれません。
そんな方には少しレベルを下げて「小学生から楽しむ Rubyプログラミング」という本を推奨します。
入門書的な感じでざっと目を通されて、Rubyの概要をつかむのに良い本です。
Rubyの変わっていく言語仕様を知るために
度々変わる言語仕様を知るには、プログラミング言語Rubyリファレンスマニュアルを参考にしています。
あらたにプログラミング言語を学習する時には、新しい本を使いたくなるものです。
しかし、プログラム言語の仕様というものは日がたつほどに更新されていき、結局は最新情報をWebで探すことが多くなります。
本の新しさはあまり重要ではありませんので、好みに合ったものを見つけることも大事なことだと思います。
紹介した本についても参考程度と思っていてください。
私はそれらの本に載っていたサンプルコードを動かしてしながら、Rubyの世界を把握していきました。
どの言語でもそうですが、すべてを暗記する必要はなく、わからない時には本やWebサイトを見ればいいです。
進め方についても、本の最初から読み進める必要はありませんので、使いそうな所から始めてください。
Rubyの学習サイト

Rubyを学習するのにおすすめなWebサイトを3つご紹介します。
Progate
Rubyの学習サイトは色々あるのですが、まず最初はProgateで学習を始めましょう。
Progateではプログラミング知識ゼロの初心者にとって最初につまづく「プログラミングの開発環境構築」など、煩わしい準備をせずにRubyの基礎の基礎からゲーム感覚で学習する事ができます。
サイトのデザインがおしゃれで可愛らしくて親しみやすいです。
もちろん学習内容もしっかりしています。
スライド形式でわかりやすいのも良いですね。
初級編は無料で、それ以降は月額980円と非常にリーズナブルに学ぶことができます。
Progateは段階的に成長を実感できるような作りになっているため、学習モチベーションも上がります。
Progra!
ProgateでRubyに慣れてきたら、次はProgra!を利用します。
Progra!は、穴埋め問題に回答していくタイプである為、基礎知識がどれくらい身に付いたか知ることができます。
Ruby基礎知識が身に付いたらドットインストールでの学習へと進みますが、その前にアマゾンのAWS Cloud9というサイトでアカウントを作成しましょう。
このサイトを利用する事で、「パソコンにRubyをインストールして開発環境を作成する」という面倒な手順を踏む事なくRuby開発が出来るようになります。
ドットインストール
Rubyの開発環境が容易できたら、ドットインストールでの勉強となります。
ドットインストールでは基礎から応用まで幅広く動画で感覚的にRuby開発を学べます。
最初はドットインストールを真似してAWS Cloud9上でサンプルプログラムの作成をし、プログラミングの感覚に慣れるようにしましょう。
プログラミング感覚になれたら、サンプルプログラムの改造をしたりして学習を進めていきます。
なお、Rubyにとって必要不可欠なアプリ開発が簡単になるWebアプリケーション・フレームワーク「Ruby on Rails」についての学習も、Rubyと同じ手順で学習しましょう。
学習サイトまとめ
以上のように学習サイトでも十分学べますが、素人にとっては多発するエラーの難解なデバッグに心が折れそうになる事が多々あります。
私がそうでした。
そこで私は、「TechAcademy」というプログラミングオンラインスクールのWebアプリケーションコースで学習する事にしました。
1人での学習に挫折しそうな人は、プロのサポートを受けながら学習できるプログラミングスクールでの学習をお勧めします。
Rubyの特徴
Rubyの難しいものとして、メタプログラミングというものがあります。
メタプログラミングを一言でいうと、コードを作るコードが書けます。
詳細はコチラのサイトがわかりやすいです。
これを使うと驚くようなことができますが、危険な部分も持ち合わせているので使う必要がなければ使わなくて良いです。
まずは普通に使えるようになりましょう。
私がメタプログラミングを学ぶにあたり、アスキー・メディアワークスの「メタプログラミングRuby(角 征典 訳)」を使いました。
他の言語の経験があれば基礎は身に付きやすい
プログラミング言語の経験がすでにあれば、良い書籍と公式のサイトを見るだけで、基礎は身に付きます。
そこから応用を効かせて、自分がRubyで実現したいことにチャレンジすると良いと思います。