記載されている内容は2019年01月18日時点のものです。現在の情報と異なる可能性がありますので、ご了承ください。記事に記載されている情報は自己責任でご活用いただき、本記事の内容に関する事項については、専門家等に相談するようにしてください。Rubyはプログラミング言語の一種です。わかりやすいコードで迅速な開発ができるので人気です。そんなRubyに興味がある方も多いのではないでしょうか。この記事ではRubyの概念だけでなくおすすめの学習法も紹介しています。Rubyを学びたい方はぜひ読んでください。Railsとの違いRubyでどんなWebアプリケーションが作れるかRubyのインストールRubyの書き方、基本構文Rubyの学習方法Rubyエンジニアの年収は?Rubyでプログラミングをしてみよう!プログラミング言語Rubyとはhttps://www.ruby-lang.org/ja/about/logo/Rubyはプログラミング言語の一種で、TwitterやAmazonのようなWebアプリケーション開発を行います。オブジェクト指向でインタープリタ方式の言語という特徴があります。Rubyはコードがシンプルでわかりやすいので開発を効率的に進められます。そのため、Rubyを使って開発を行う企業はとても多いでしょう。今回はそんなRubyについて解説します。コードがシンプルでわかりやすい以外にもたくさんの特徴があります。RubyでできることRubyでできることはWebアプリケーション開発、サーバーのプログラム実装(API)、Webの情報を抜き取って、加工して使用する(スクレイピング)、スマートフォンのアプリ開発、機械学習など多岐に渡ります。Webアプリケーション開発が最も主流です。Rubyを使って開発されたアプリケーションは数えきれないほど多く、私達が毎日のように触れているアプリケーションも実はRubyで開発されていたりします。Rubyが日本で人気な理由Rubyは世界中で使われているプログラミング言語です。理由は「開発がしやすい」のと「日本発の言語」だからです。詳しく解説していきます。Rubyは開発しやすい言語Rubyはプログラミング言語の中でも開発しやすいことで人気です。開発しやすい理由は2つあります。1つ目はコードがシンプルでわかりやすいこととです。Rubyは読みやすさを重視して設計されています。そのため、一目でわかるように少ない記述で完成できます。2つ目は記述したプログラムをすぐに実行して動作確認ができるからです。これはプログラミング言語の中でもスクリプト言語と呼ばれるものだからできることです。Rubyは日本発のプログラミング言語です。日本人のまつもとひろゆき氏が開発しました。そのため日本語の文献や攻略サイトが非常に多く存在し、情報収集しやすい言語として知られています。勉強に取り掛かりやすく、開発途中で困ったことがあっても調べたらすぐに解決策が見つかります。Rubyエンジニア同士のコミュニティも活発で学習できる機会が多いので楽しみながら開発を続けられます。Rubyは日本発のプログラミング言語でもあるRubyのプログラミング言語としての特徴Rubyは使いやすくわかりやすいため、初心者にもおすすめのプログラミング言語の代表です。これはオブジェクト指向やインタープリタ方式という、プログラミング言語自体の特性も関係しています。Rubyの言語としての特徴を簡単に説明します。インタープリタ方式プログラミング言語には大きく分けて、「コンパイラ言語」と「インタープリタ(スクリプト)言語」の2種類があります。これらの違いはプログラム実行時のプロセスです。コンパイラ言語はコードを書いた後、コンパイルというコンピューター言語への翻訳行為を行います。これによりコンピューターが読むのが速くなり、処理速度が速くなってパフォーマンスが上がります。インタープリタは翻訳という意味の言葉で、逐次翻訳などと言われることもあります。逐次翻訳と言う言葉のとおり、1行ずつコンピューター語にしながら実行していきます。プログラムの翻訳と処理という2つを一度に実行するので、処理速度が遅くなります。人には読みやすく、コンパイルの手間がないのでコード修正も簡単というメリットがあります。初心者はまずインタープリタ型の言語から始めるのがおすすめです。Ruby以外ではPHPやPythonなどが有名です。オブジェクト指向Rubyは完全なオブジェクト指向のプログラミング言語です。オブジェクト指向とはプログラミングをする上での考え方です。オブジェクト指向はプログラミングをよく理解していないと文章による説明では、わけがわからない状態になってしまうことがほとんどです。深い意味はここでは割愛します。現時点では簡単に「設計手法」となんとなく理解してください。実際はもっと説明が必要なのでご注意ください。ポリモーフィズムポリモーフィズムは、「多様性」という意味の言葉で、同じ名前のメソッドでも、クラスによって違う行動をすることを指します。例として、greetという挨拶をするメソッドを作ることを考えてみましょう。Humanクラスのオブジェクトの場合は「こんにちは」と出力できればいいでしょう。DogクラスやCatクラスの場合はどうでしょうか?ポリモーフィズムによって、greetメソッドを呼び出したときに、対象オブジェクトのクラスによって自動的に「こんにちは」「ワン」「にゃー」とそれぞれ別の文字列を出力することができます。カプセル化カプセル化とは、変数やメソッドを関係のない場所から呼び出せないようにするということです。「スコープを制限すること」と言った方がわかりやすい人もいるかもしれません。ポリモーフィズムの例で挙げたgreetメソッドも、他のクラスからアクセスできないからこそ、クラスに合わせた機能の呼び出しができます。3つのgreetが使えるなら、どれを使えばいいかコンピューターは判断できないですよね。カプセル化はポリモーフィズムが成立する前提条件とも言えます。セキュリティの観点からも重要な機能です。Railsはフレームワークです。プログラミング言語ではありません。フレームワークは、アプリケーション開発をするための枠組みのようなものです。プログラミング開発を効率的にするための便利な機能がたくさん詰まっています。開発者はフレームワークのルールに従えばプログラムを1行1行書くよりも迅速にWebアプリケーションを開発することができます。RubyでどんなWebアプリケーションが作れるかRubyでは使いやすく便利なWebアプリケーションを作ることができます。急速なWebアプリケーションの発展により、シンプルで迅速な開発ができるRubyの需要は高まっています。作れるサイトははショッピングサイト(EC)やSNS、動画配信サービスなど多岐に渡ります。私達が普段使っているサイトもRubyで作られている可能性があります。具体的にどのようなサイトがRubyで作られているか紹介します。Amazon大手ネットショッピングサイトのAmazonはRubyで作られたサイトです。わかりやすい操作で買い物ができるのでとても便利です。商品の画像が綺麗に並んでいて閲覧もしやすいです。このような機能を簡単に付けることができるのがRubyです。シンプルでわかりやすいコードの記述を駆使し、迅速に使いやすく便利なアプリケーションを開発できるのはRubyの醍醐味です。アマゾンRubyのインストールRubyはMacにはあらかじめインストールされていますが、WindowsOSを使っている人は自分でインストールする必要があります。「RubyInstaller」と検索すればRubyInstallerの公式サイトがヒットします。インストール方法」と調べればわかりやすい解説サイトが山ほど出てきますので安心してください。WindowsRubyの書き方、基本構文Rubyはプログラミング言語なので好き勝手にコードを書くわけにはいきません。決められた型にそってコードを書いて、確実に開発を進めましょう。Rubyには多数の基本構文があります。今回はその中でも最もオーソドックスな3つを紹介します。IfRubyはIfを使って条件分岐というプログラムが実行可能です。簡単に、Ifは「もし、~~ならOO」という設定を作りたいときに使うのだと覚えておくといいでしょう。サイト作りで「記事の投稿をしたユーザのみがその投稿を消すことができる(もし、この記事の投稿者であればこの記事を削除できる)」といった設定をしなければいけない場合があります。その設定をプログラムする際に使うのがIfです。Tech-boost-magazineForRubyはForを使って繰り返し処理と呼ばれるプログラムも実行できます。Forは「~から○まで」のようなプログラム実行の時に行います。~と○の中に入るのは数字です。実はForはあまり使う機会がありません。Rubyには繰り返し処理を行うことができる構文が多数存在し、他の構文で事足りてしまう場合がほとんどだからです。他にどんな繰り返し処理があるのか次に紹介します。WhileWhileもRubyで繰り返し処理を行う際に使います。Forと似ていますが、Whileは定められた条件の真偽によってループを制御します。WhileはForよりも構造が複雑なので慣れるまでは時間がかかります。Forに比べてバリエーション豊かに繰り返し処理を行えるため、アプリケーション開発ではForより活躍します。Whileは最初は難しく感じますが、使えると便利なので覚えておきましょう。Rubyの学習方法Rubyは日本語書籍や学習サイトが山ほどあるので学習環境を整えるのは難しいことではありません。今回はおすすめの書籍やサイト、プログラミングスクールまで幅広くピックアップしました。自分に合った学習方法を選びましょう。書籍は情報がまとまっているので混乱しにくく、学習がしやすいです。プログラミングの上達のコツはコードをとにかく書くことなので書籍を読むだけではいけません。自分の手を動かしてプログラミングを体感して覚えましょう。ここで紹介するのは全て初心者向けになります。Ruby入門」はRubyを初めて学ぶ人に向けて、Rubyの基礎基本が載っています。「この項目で学ぶこと(予習)」「実際にやってみよう(実践)」「実行結果から文法を理解しよう(復習)」という、3つのプロセスを踏むことによってRubyの基礎を身に付けることができます。Rubyを最初に学ぶのにぴったりです。1」はプログラミング自体が初心者である人に向けて書いてあるので丁寧でわかりやすい解説が魅力です。ポイントもしっかり記されているので何を意識して学習すればいいのかがわかります。習熟度をチェックできる練習問題も充実していて、CD-ROMには開発環境とサンプルコードが収録されているので独学でも安心です。プログラミング自体が初めてでも安定した学習ができそうです。プロを目指す人のためのRuby入門Amazonで見る「プロを目指す人のためのRuby入門」はプログラミング言語は学んだことがあるが、Rubyの学習は初めての人に向けた本です。Rubyの文法をサンプルコードで学び、例題でプログラミングの流れを体験できます。プログラミング基礎知識の説明は最小限にして、Rubyの特徴を解説しています。開発現場で必要になる知識を得られるのでRubyのエンジニアを目指す人におすすめです。動画での学習プログラミングは専門用語が多く、やることも複雑なので混乱します。動画で学習すれば、動画に沿って手順を踏めばいいのでスムーズに開発を進めることができます。ここでは手軽に始めることができて、実践的なサイトを紹介します。ドットインストールドットインストールはプログラミングを学べる動画サイトでは最も有名で人気のサイトです。特徴としては3分の動画でプログラミングの学習ができます。文法などの知識やルールを詰め込むよりも、動画を見て手を動かすことに重点を置いています。動画を見ながら手を動かしているうちにコードを書く作業に慣れていくことでしょう。その実践的な内容によって初心者からプロまで幅広いユーザーから人気です。3分動画でマスターする初心者向けプログラミング学習サイトSchooSchooはWebアプリケーションフレームワークについてなど基本的な内容も丁寧に解説されています。動画も豊富で自分の学びたいことを隅から隅まで学ぶことができるでしょう。受講生が参加できる生放送では講師に質問することもできます。わからないことをその場で解決するのはプログラミング学習においてとても大切なことです。挫折しないように楽しく学習を進めるのに最適です。Schoo-学べる生放送コミュニケーションプログラミング勉強サイトでの学習プログラミングサイトでの学習はリスクやコストもほとんど掛からず、すぐに始めることができます。手当たり次第に始めるのは効率的ではありません。自分のレベルにあったサイトを選びましょう。初心者はわかりやすい解説でコードを書いて実践的に学習できるサイトが望ましいです。難しい解説を読んでも滅入ってしまうだけです。易しい解説で全体図を捉えたら手を動かしてコードに慣れていきましょう。ミニツクミニツクはRubyに特化した学習サービスです。Rubyに特化しているので確かな情報量とわかりやすい解説が特徴です。このサイトの目玉はRubyの開発者であるまつもとゆきひろ氏が解説する動画コンテンツです。学習の成果はドリル形式の問題で確認できるので、理解度をその都度チェックできます。演習も用意されており、自分でコード書いて力を付けることができます。Rubyの開発者自身の解説を聞けるのは大変貴重です。Rubyのe-ラーニング研修システムProgateProgateは初心者向けのプログラミング学習サイトです。イラスト中心のスライドで要点を確認して、自分で実際にコードを書くカリキュラムです。初心者でも無理なく独学ができるように易しい解説が多いです。その解説を元に自分でコードを書く実践的な学習を繰り返し行います。難しい解説は挫折してしまう原因になります。簡単な説明に従ってコードを書くことがプログラミング開発の上達の秘訣です。プログラミングの入門なら基礎から学べるProgate[プロゲート]リファレンスサイトでの学習Ruby開発ではわからないことがあってもリファレンスサイトを調べれば解決できることがほとんどです。自分が最も使いやすいリファレンスサイトとの出会いはRuby開発をスムーズに進めるための第一歩です。リファレンスサイトは数えきれないくらい多いのでどれを選んだらいいかわからないという人におすすめを紹介します。リファレンスマニュアル」はRuby公式のリファレンスマニュアルです。Ruby開発者でこのサイトを見たことが無い人はいません。シンプルなサイトの作りなので欲しい情報がすぐに見つかります。初心者のうちから使いこなすのはやや難易度が高いので扱いに注意しましょう。リファレンスマニュアルteratailteratailは質問型リファレンスサイトです。初心者からプロのエンジニアが切磋琢磨して疑問を解決しています。微妙なエラーや開発のヒントが欲しい人にはもってこいのサイトです。誰かから直接アドバイスをもらうのは非常に刺激的で、勉強になります。プログラミングの途中でどうしても解決できないエラーが発生した時にぜひ有効活用してください。Tech-boost-magazineプログラミングスクールでの学習Rubyを最も効率的に学ぶにはプログラミングスクールが有効です。コストは掛かりますが、学習のサポート体制が整えられているのでそれ以上の価値を見出すことは容易です。プログラミングで重要なのは継続して学ぶことです。プログラミングスクールに通うなら、学習の継続をサポートしてくれるかを重視して選びましょう。Rubyエンジニアの年収は?株式会社ビズリーチが2018年に行った求人検索エンジンスタンバイによる調査結果を公開しています。この調査によると2018年8月の時点で、Ruby求人の年収中央値は550万円で、6位でした。中央値なので平均値はもう少し低くなるはずです。最高値は1200万円と、他の言語とそん色ないものでした。プログラミング言語別年収中央値を発表、求人検索エンジン「スタンバイ」調べ案件数では唯一1万を超え、ダントツ1位です。Rubyはフリーランスにも人気ですが、仕事が多い言語なので納得ですね。最近はエンジニア向け転職サービスやフリーランス支援も多いので、気になる人は見てみてください。Stars(テクスタ)技術で選ばれる、ITエンジニアのための転職サイトRubyでプログラミングをしてみよう!今回はプログラミング言語のRubyについて解説しました。Rubyはとても奥が深いことがわかりましたか?Rubyはわかりやすく、シンプルなコードなのでプログラミング自体をやったことがない人にもおすすめです。最初は混乱しますが、根気よく学習を続けるとRubyの楽しさに気が付くことができます。Rubyでプログラミングをして、スキルアップを目指しましょう。file.2:営業マンとして活躍し、海外留学。file.4:独学よりもスクールで。他人と同じことはしない。