初心者がRubyの独学を最短で成功させるためのマル秘情報
欧米産が大半を占めているプログラミング言語の中で、世界中で人気を集めている日本初のプログラミング言語があるのをご存知でしょうか。それが、Rubyです。
Rubyは手軽に本格的なプログラミングを行える言語として人気があります。
Rubyって独学で学習できるの・・・
どうやって独学したらいいんだろう・・・
と考えていませんか。
そんなRubyに興味のある人へ向けて、独学の方法や独学に役立つ情報をお伝えします。
プログラミング初心者はRubyを学習すべき?
Rubyは「スクリプト言語」です。
「スクリプト言語」というのは、プログラミング言語の分類の1つです。
簡単に説明すれば、プログラムを比較的簡単に実行することのできるプログラミング言語だと憶えておけば良いでしょう。
スクリプト言語の対となるのがコンパイル言語です。
コンパイル言語はプログラムを実行するために機械に伝わるように言葉を変換(コンパイル)する必要があるプログラミング言語です。
スクリプト言語よりも事前準備が必要な分難しいが、高速な動作をすることができます。
Rubyはスクリプト言語なので、他の言語と比べ比較的簡単に身に付けられると言われています。
なので、Rubyは初心者が学習するのに最適なプログラミング言語の1つです。
Rubyの魅力紹介
Rubyの魅力的なところはたくさんありますが、初心者の人にとって魅力的なのは、以下の4点になるでしょう。
- 初心者でも学習しやすい
- Rubyは楽しい
- 実用的なWebサービスが短期間で作れる
- 転職や就職しやすい
それぞれについて、少し詳しく説明していきます。
初心者でも学習しやすい
Rubyは他のプログラミング言語に比べて、学習しやすい言語です。
それは、シンプルで美しいからにほかなりません。
プログラミング初心者にはピンとこないかもしれませんが、他の多くのプログラミング言語では、関数と呼ばれる処理の名称が長く、統一されていないことが多々あります。
その点、Rubyはすべてが1つの基本理念に則った名前で構成されており、初めて使う処理の関数名が予測できるほどです。
その結果、Rubyのプログラムは何を行う処理なのかが明確で、トリッキーな記載がない「美しくシンプルなソースコードになる」のです。
この特徴によって、Rubyは初心者にとって憶えることが一貫して学習しやすいプログラミング言語と言われています。
それに加えて、日本人が作ったプログラミング言語ですので、日本語での書籍や解説書がふんだんに存在していますので、初心者にとっては力強いでしょう。
Rubyは楽しい
Rubyは前述のとおり、一貫した書き方のルールがあります。
しかし、それはプログラマの自由を制限するものではありません。
事実、Rubyでも同じ処理を数種類の書き方で実現できるようになっています。
つまり、プログラマの書き慣れた方法で処理を記載できるのです。
それは、Rubyの設計理念が、以下になっているからでしょう。
『Ruby プログラミング入門』まえがき 監修者より
つまり、Rubyはプログラミングを楽しむことを主眼において作られているプログラミング言語なのです。
※この「楽しい」という点は、初心者の間はあまり意識できないかもしれませんが、慣れてくればジワジワと分かってくることでしょう
実用的なWebサービスが短期間で作れる
Rubyが身に付くと、すぐにでもWebサービスを立ち上げることができます。
RubyにはRuby on Railsというフレームワークがあり、それを利用することで、簡単なWebサイトであれば1時間程度で立ち上げることが可能なのです。
自分が考えているサービスを短期間でスタートできると言うのは、初心者のモチベーション維持にとってとても重要なことです。
転職や就職しやすい
特にベンチャー企業やWeb系の企業では、前述のサービス立ち上げの簡単さもあってRubyを採用している企業が多いです。
つまり、Ruby技術者を必要とする企業はこれからも増えていきますので、Rubyエンジニアはこれからも引く手あまただと言えるでしょう。
もちろん、フリーランスでの仕事もたくさんありますので、Rubyを身に付けることで将来の選択肢が多くなるのです。
他の言語と違う機能
Rubyの魅力はシンプルで美しいところだと説明しました。
これは、他のプログラミング言語との差別化という意味ではとても重要な部分です。
それも含めて、Rubyが他のプログラミング言語と違っている機能は、次のようなものになります。
- OSに依存しない
- プログラムが読みやすい
- 修正がしやすい
- 再利用がしやすい
OSに依存しない
RubyはWindowsやMac、Linuxなど、パソコンからサーバなど様々なコンピュータ上で動作します。
そのため、プログラムを1つ作るだけで複数のコンピュータで対応できるアプリケーションが出来上がります。
また、過去に作った処理などの資産を簡単に再利用することができるのです。
記述方法がシンプルでプログラムが読みやすい
前述のとおり、Rubyの記述方法はとてもシンプルで短く、誰が見ても読みやすいソースコードになりやすくなっています。
読みやすいということは、修正がしやすく、不具合が少ないプログラムを作りやすいということになるのです。
修正がしやすい
前述のとおり、プログラムがとても読みやすくなっているため、修正箇所を見つけやすく、修正しやすくなります。
プログラミング作業の中で多くの時間を占める不具合修正の時間が短縮できるということは、プログラミング全体の効率を上げることになるのです。
再利用がしやすい
Rubyは、純粋オブジェクト指向型言語として完成されています。
オブジェクト指向というのは、プログラムをブロック化してそれぞれ独立した部品のように扱う手法です。
つまり、あるプログラムで使った部品を別のプログラムでも使えるようにできるのです。
そのため、プログラミングを続ければ続けるほど、新たに同じ処理を作らなくて済むようになり、開発する時間を短くすることができます。
作成されたサービス
Rubyは日本工業規格(JIS)にも認定されているプログラミング言語ということもあり、数多くのサービスで活用されています。
特にWebサービスを短期間で立ち上げられる点から、ベンチャーで採用されることが多いですが、老舗のサービスや大手企業でも採用されているのです。
その一端をご紹介しましょう。
※なお、これらのサービスはRuby単体ではなく、Ruby on Railsを採用しているサービスです
サービス名 | 分類 | 特徴 |
クックパッド |
レシピサイト | 日本を代表するRuby on Railsサイト |
食べログ |
グルメサイト | 規模拡大に合わせてRubyに乗り換えた有名サービス |
Hulu |
動画サイト | 創業当初からRuby on Railsを採用している。 Rubyへの関心の高い企業 |
Airbnb |
民泊サービス | アイデアを形にして走りながら発展していった典型的なサービス |
今後の需要
前章で紹介したとおり、Rubyは多くの企業が採用しており、まだまだエンジニアが足りていない状況です。
特にRuby on Railsによる短期間でのWebサービスの立ち上げには多くの起業家が注目しており、アイデアを形にして動かしながら改善していくスタイルで事業が進められることが多いです。
そのため、各企業は随時対応してくれるエンジニアを求めており、就職、転職、フリーランスなど様々な形態で数多くのRubyエンジニア求人があります。
ビジネスの中心がインターネットとなったいま、この流れはこれからも続いていくことが予測されますので、Rubyエンジニアの需要はますます高まってくることでしょう。
debug対象のファイルとして、作業フォルダに格納されているmain.rbを指定しています。
これは、デバッグを行う場合、main.rbを実行するということです。
そのため、この環境で作成するRubyのソースコードファイルをmain.rb以外の名前にしたい場合は、この部分も変更しなければいけません。
憶えておきましょう。
これで開発環境は出来上がりました。
2. 動くものを作ってみる
プログラムを作るというのは、ただソースコードを記入するということではありません。
実際に動くものができて、初めてプログラムができたことになるのです。
初心者のうちはゼロからプログラムを作ることができないのは当たり前ですので、まずは確実に動くプログラムを作ることから始めましょう。
そのためには、「Progate」といった初心者向けの学習サイトや「作りながら学ぶRuby入門」などの書籍に掲載されているサンプルプログラムを使うのが好都合です。
この段階であれば、Webサイトからコピペしてきてもかまいませんので、まずは動くプログラムを書いて、実際に動かしてみてください。
ファイルの追加
ここでは、まずファイルを追加するところから説明しましょう。
フォルダやファイルの追加はメニューからでも行えますが、左のエクスプローラの作業フォルダ名(今回はsample)にマウスを合わせると表示されるアイコンからでも行えます。
4つのアイコンが表示されていますが、左から順に「ファイルの追加」「フォルダの追加」となっています。
「ファイルを追加」ボタンをクリックすることでファイル名の編集状態になりますので、ファイル名を付けてください。
今回は「main.rb」にしなければいけません。
ファイルを追加するとファイルが開いて編集状態になりますので、ここにソースコードを記載します。
サンプルプログラムを実行する
以下のソースコードを記載して保存しましょう。(保存はCTRL+sキーです)
msg1 = ‘Hello ‘
msg2 = ‘world!!!’
puts msg1 + msg2
作ったプログラムの実行はF5キーですが、その前に実行結果が表示されるデバッグコンソールを表示しておきましょう。
デバッグメニューの歯車マークの隣をクリックすると、デバッグコンソールが表示されます。
その状態で、F5キーを押します。
しばらくすると、このような実行結果がデバッグコンソールに表示されるでしょう。
3. 作ったプログラムがどう動いているのか理解する
プログラムはデータの流れを制御しています。
もう少し詳しく書くと、プログラムは数値や文字列などのデータを加工して出力する処理の流れなのです。
そのため、入力されたデータがどんなふうに加工されて、出力されるのかに注目すれば、プログラムを読むことができます。
参考書や参考サイトの掲載プログラムでも同じですので、以下の3点に注目してデータの流れを追ってみましょう。
- どんなデータが入力されているのか
- どうやってデータを加工しているのか
- どんなデータが出力されるのか
これらはすべて、1つとは限りません。
1つの入力からいくつもの加工を経て複数の出力になることもありますし、複数の入力から1つの出力を得ることもあります。
プログラムを理解するというのは、データの流れを理解するということなのです。
サンプルプログラムを理解する
では、先ほど作ったサンプルプログラムの動きを理解してみましょう。
このプログラムへの入力と加工方法と出力は、次のようになっています。
入力 | 文字列が2つ(「Hello 」と「world!!!」) |
---|---|
加工 | 文字列をそれぞれmsg1とmsg2に格納 msg1とmsg2を結合 puts関数へ渡す |
出力 | 結合された文字列「Hello world!!!」 |
プログラムを読むというとき、加工の部分だけを考える人がいるかもしれませんが、プログラムの目的は入力から出力を得ることですので、必ず入力と出力も忘れないようにしましょう。
4. 自分が作りたいプログラムを作って3.へ戻る
プログラムの理解ができれば、理解したプログラムを改造するなどして違ったものを作ってみましょう。
どんな小さな改造でもかまいませんので、自分が思いついたように変更するのです。
もちろん、改造の内容によっては参考書や参考サイトの説明内容から逸脱したものもあると思います。
その場合は、自分でその改造方法を調べてください。
そうすることで、ただ参考書や参考サイトに沿って進めている以上のことを効率よく身に着けることができるのです。
変更内容は、表示する文字列を変更したり、計算式を変更したりする程度からで十分です。
出力の変化を確認し、思った通りになるまで修正し続けるという行為が重要なのです。
サンプルプログラムを改造する
サンプルプログラムを改造してみましょう。
もっとも単純な入力文字列の変更として、msg2の「world!!!」を「Ruby!!!」に変更します。
msg1 = ‘Hello ‘
msg2 = ‘Ruby!!!’
puts msg1 + msg2
結果を予測しながらF5キーを押してみましょう。
予測通りの結果になったでしょうか?
では、次は自分なりの変更を加えてみてください。
出力結果を「Hello」と「Ruby」の2行に分けるには、どうすれば良いでしょうか?
別の文字列を追加して入力を3つにするにはどうすれば良いでしょうか?
そもそも、入力を1つにして「Hello world!!!」と出力してみるのも良いでしょう。
いろいろと考えられることを行うことで、この短いプログラムから様々なことを習得することができるのです。
独学オススメサイト3選
Rubyは他の言語に比べて日本語の参考サイトや学習サービスが充実しています。
その中でも選りすぐりの3つのサイトをご紹介します。
これらの学習サイトで基本的な文法を勉強した上で、前章で紹介した独学手法を進めることで、文法を学習する手をが減り効率が上がるかもしれません。
Progate
Progate(https://prog-8.com/) |
学習しやすさ | ★★★★★ |
---|---|---|
学習の幅(どれくらいマスターできるか) | ★★☆☆☆ | |
料金 | 無料・有料 | |
総合評価 | ★★★★☆ |
無料でプログラミングを学ぶことができる学習サイト「Progete」は、RubyやRuby on Railsの基本的な部分を学ぶにはうってつけです。
ブラウザ上でソースコードを入力して実行でき、スライドのテキストを見ながら進めることができますので、ブラウザがあれば手軽に学習できるのも魅力です。
ドットインストール
ドットインストール(https://dotinstall.com/) |
学習しやすさ | ★★★☆☆ |
---|---|---|
学習の幅(どれくらいマスターできるか) | ★★★☆☆ | |
料金 | 無料・有料 | |
総合評価 | ★★★☆☆ |
3分程度の動画を見て学習する手軽なサイトです。
モバイルアプリも用意されていますので隙間時間などに眺めて学習することができるのは、大きなメリットでしょう。
基本構文や開発の流れなどを流して把握することや復習には効果的なサイトと言えます。
ミニツク
ミニツク(http://www.minituku.net/courses/) |
学習しやすさ | ★★★☆☆ |
---|---|---|
学習の幅(どれくらいマスターできるか) | ★★★★☆ | |
料金 | 無料 | |
総合評価 | ★★★☆☆ |
動画や演習などで総合的な学習を進めることができる学習サイトです。
開発環境などは自分で準備しなければいけませんが、Rubyのコンテンツが多く、詳しく学習することができます。
説明は少し専門的な内容になっていますが、ドリルと呼ばれる演習問題が数多くありますので、本記事の独学手法にピッタリと言えるかもしれません。
なにより、Ruby入門の最初の動画でRubyの生みの親であるまつもとゆきひろ氏から直接お話を聞けるのは、他にはない魅力でしょう。
Ruby入門を決めた人がするべきことやおすすめの学習サイトを紹介!独学オススメ本3選
本記事の独学手法に使える書籍も、3つご紹介しましょう。
すべて初心者向きのものですので、解説を読みながら進めるだけでも相応の知識はつきます。
でも、紹介した独学手法に取り入れることで、これらの書籍を使いながらその内容を超えるスキルを身に付けることができますので、ぜひ挑戦してみてください。
作りながら学ぶRuby入門
読みやすさ | ★★★★☆ | |
---|---|---|
学習の幅(どれくらいマスターできるか) | ★★★★☆ | |
総合評価 | ★★★★☆ |
書籍管理アプリケーションという実用的なプログラムの作成を通して、Rubyの基礎から応用までを学ぶ書籍です。
目的のプログラムを作るために様々な部品を組み立てていくことでモチベーションを保ちながら演習を繰り返させる良い作りになっています。
本記事の独学方法にもマッチするのでおすすめの書籍です。
ただし、プログラミングすることが前提のため基本構文の説明が荒くなっていますので、初心者には厳しい可能性があります。
前章の学習サービス利用後であればちょうど良い難易度でしょう。
3ステップでしっかり学ぶRuby入門
読みやすさ | ★★★★★ | |
---|---|---|
学習の幅(どれくらいマスターできるか) | ★★☆☆☆ | |
総合評価 | ★★★★☆ |
開発環境の構築から基本構文まで、Ruby初心者が最初に手に取る書籍としては最適な1冊でしょう。
ただし、学習サービスを利用することで得られる知識も多いので、パソコンを使って手を動かしながら学習する場合はどちらにするか悩むところです。
どちらにしろ、この本だけでは有用なアプリケーションを作成するには不十分ですので、基本を押さえたい場合にのみ活用する書籍になるでしょう。
スラスラ読めるRubyふりがなプログラミング
読みやすさ | ★★★★★ | |
---|---|---|
学習の幅(どれくらいマスターできるか) | ★★☆☆☆ | |
総合評価 | ★★★★☆ |
英語や略語の多いプログラミング言語の意味を日本語で丁寧に解説していますので、初心者でも苦手意識を植え付けられることなく基本的な部分を押さえられる良書です。
代表的なエラーについての解説がされている点は他の書籍にはあまり見られませんので、初心者にはとても助かる内容でしょう。
ただし、丁寧な解説だけにカバー範囲が狭く、この書籍だけでは基本構文程度までしか学習できません。
【レベル別】Rubyの学習におすすめの本6選!Rubyの独学で転職するために必要なこと
転職するためにRubyを独学しようとしている人に、ぜひ知っておいていただきたいことがあります。
それは、次の2点です。
・過去の経験
・実績(自己アピール)
転職活動には、このどちらかが必須だと考えたほうが良いのです。
過去の経験
転職者を採用する企業は、ほぼすべて経験者を求めています。
現実的な話として、転職者を育てる環境は滅多にないと言われています。
そのため、過去実績は採用の可否に大きく影響するのです。
Rubyエンジニアであれば、当然ながらRubyの実績を求められることでしょう。
ただし、Rubyエンジニアを求めている企業のほとんどがWeb系のエンジニアを求めていますので、Ruby以外のWeb系プログラミング言語(PHPやJavaScriptなど)の経験があれば、採用される可能性は十分にあるでしょう。
実績(自己アピール)
原則として経験者が望まれていると書いたので、未経験の人はがっかりしたかもしれません。
しかし、まだ諦めないでください。
業務経験がなくても、自己アピールできる実績があれば十分に可能性があります。
例えば、Rubyの学習ブログを作ったり、自分で作ったプログラムを公開したりすることは、企業へのアピールになります。
また、何らかのサービスを作って公開すれば、一から十まで1人で開発できるスキルをアピールすることができるでしょう。
特にRubyは、Ruby on Railsを使うことで短期間でサービスをスタートさせることができますので、このサービス立ち上げはおすすめの自己アピールだと言えます。
Rubyの独学でフリーランスになるために必要なこと
転職ではなくフリーランスを目指している人の場合も、基本的には転職者と同様の過去の経験と実績がポイントになります。
ただしフリーランスの場合は、経験や実績を自己アピールする営業力も必要でしょう。
ブログを投稿しているだけ、サービスを立ち上げただけということではなく、自分という商品を売り込む必要があるのです。
もし、フリーランスを目指している学生さんであれば、Rubyを採用しているベンチャー企業などに新卒として就職することをおすすめします。
Rubyの学習をさせてもらえますし、2年程度の実務経験を積めば、フリーランスとして魅力的な武器にすることができるでしょう。
Rubyの独学で挫折してしまった場合は・・・
Rubyは学習しやすいプログラミング言語です。
しかし、そんな学習しやすいプログラミング言語でも、独学には罠があります。
それは、ここまでに説明してきた考え方などのノウハウです。
プログラミングの考え方やRuby独特のノウハウなどは、参考書やサイトではほとんど掲載されていません。
当たり前すぎるので、誰も文字にしないのです。
しかし、初心者にはその当たり前が難しく、Rubyを学習し始めた人の中には、独学では続けられなくなってしまう人が少なくないのです。
考え方やノウハウは1度分からなくなってしまうと独学では調べ方すら分かりませんので、どんどん深みにはまってしまうことになるでしょう。
でもそんな問題は、有識者に相談すればすぐに解決することがほとんどです。
私自身も、プログラミング言語の独学をしていく中で、暗黙の了解的な部分が納得できずはまってしまった頃がありました。
そんなとき、藁にもすがる気持ちで知り合いのエンジニアに質問したら、あっさり解決したのです。
そのおかげで、様々なソフトウェア開発に携わることができるようになるまで成長できたのです。
プログラミング言語の学習は、言語の構文の暗記ではない部分に重要なポイントがあるということでしょう。
有識者と話をすることで、そのポイントをスムーズに理解でき、プログラミング言語の理解度が一気に深まるのです。
しかし、多くの人は私のように知り合いにエンジニアがいるわけではありません。
しかし現在は、現役のエンジニアが教えてくれるプログラミングスクールがあります。
そんなスクールで質問すれば、きっと挫折しかかっていたのが嘘かと思うほどすっきり解決することでしょう。
もし、独学に限界を感じたのであれば、1度プログラミングスクールへ相談することをおすすめします。
まとめ
Rubyは次のような理由から初心者が学習しやすいおすすめのプログラミング言語です。
・Rubyの基本理念は「楽しむ」こと
・Rubyエンジニアは、は数多くのベンチャーや新サービス立ち上げで必要とされている
・Ruby on Railsを利用すれば、短期間でサービスを立ち上げられる
Rubyを学習することで、転職やフリーランスで有利になるだけでなく、自分のアイデアをサービスとして立ち上げることで、エンジニアとしての新しい道を開くことができます。
ぜひ、本記事で紹介した独学のやり方を参考に、エンジニアとしての1歩を踏み出してください。