「本当に価値のあるものを追求しつづける」freee株式会社 長幡 陽太氏
GEEK JOB編集部
この記事ではこれからRubyを学ぼうと思っている方に向けてRubyの紹介とおすすめのプログラミング学習方法を説明していきます。この記事を読むことでRubyの魅力を知れるのと同時に、どのように学習を進めていけば良いのか道筋を立てられます。
何か新しくチャレンジをしようと思った時に、プログラミングが頭に思い浮かぶ人が増えてきています。
これから学ぶのが初めてで、どの言語を学ぼうか考えているならRubyはオススメ。
この記事では、Rubyとはどんな言語なのかについて紹介していくと共に、後半ではおすすめのプログラミング学習方法について説明していきます。
プログラミング言語の中でも人気が高まっているRubyについて紹介します。
特徴を掴めば、自分にとって学ぶべきか判断もつきやすくなります。
Rubyを理解するための第一歩として読み進めていってください。
Rubyは、Ruby on Railsというフレームワークと併用される事が多いです。
フレームワークを使用することで複雑なコードを書く必要がなくなり、開発が効率的に進みます。
Ruby on Railsを使って作られた代表的なサービスとして「食べログ」、「クックパッド」、「クラウドワークス」などが挙げられます。
主に、業務システム・Webサイト・Webアプリケーション開発などに用いられる事が多い言語です。
実は、Rubyは日本生まれの言語で、”まつもとゆきひろ”氏によって開発されました。
オブジェクト指向スクリプト言語と呼ばれ、よく比較されるJavaなどのコンパイル言語に比べると簡潔にプログラムが書けます。
他のプログラミング言語と比較しても、書くコードの量が少ないため、ミスも少なく作業効率を上げる事が出来ます。
また記述に関するルールがゆるく、個人での開発にも向いている言語と言われています。
プログラミング言語は、フロントエンドとバックエンドに分けられますが、RubyはPHPなどと同じバックエンド言語です。
フロントエンド言語の代表としてはHTML、CSS、JavaScriptなどがあり、目に見えるデザインなどを操作する部分です。
Rubyは習得難易度がさほど高くない事でも知られています。
人によって理解度は異なるため一概には言えませんが、順調に勉強を進めれば1ヵ月~3か月ほどで基礎は身に付きます。
使用しているエンジニアも非常に多いため、学習に躓いた際もWeb上で解決策を探しやすいのもポイントです。
Rubyのプログラミング言語としての需要は年々高まるばかり。
「クックパッド」、「Airbnb」など、私たちが知っている代表的なサービスの多くがRubyを使って作られています。
ビズリーチが2018年6月30日に行った調査によれば、Rubyを扱うエンジニアの年収中央値が550万円を記録し全体で7位になりました。
求人数では、2位にランクインしたC言語の9,347件をはるかに上回る11,676件を記録し、堂々の1位に輝きました。
また、2020年に小学生のプログラミング教育必修化することもあり、今後エンジニア需要の増加はますます期待できます。
[出典]プログラマーの言語別年収ランキングRubyに対する知識もついたところで、次にプログラミング言語をどのように学んでいくべきか説明していきます。
基礎学習と実際にコードを打ち込むアウトプットのバランスを意識しながら進める事がポイントです。
何を始めるにもそうですが、入門者は基本的な知識・ルールを身に付ける必要があります。
プログラミング学習における代表的な基礎知識の学習方法は、「学習サイトを使う」か「本を使う」ことです。
ポイントは全てを理解しようとせず、はじめはぼんやりとした理解で良いので一通り学習を先に進めていくこと。
ただし、教材を選ぶ際には実用的かどうかは確認する必要があります。
ある程度インプットが出来たら次にどんどんアウトプットしていく事が大切。
自分が目標とするWebサービスやアプリのコードを参考にして、最初は模写する事が上達への一番の近道。
初めのうちは書き写すことで、効率的にコードを書くヒントを得られるようになります。
慣れてきたら少しずつオリジナルでコードを書き換えていきます。
より自分が作りたいと思うサービスに近づけていきましょう。
模写に慣れてきたら、オリジナルでサービスを作ることに挑戦しましょう。
冒頭にも紹介しましたが、Rubyは他のプログラミング言語に比べると比較的簡単にサービスを作ることが出来ます。
一通りサービスを作れば制作の全体像を掴めるので、なるべく早い段階でオリジナルサービスの制作に取り掛かるべきです。
できるなら制作の途中で問題が起こった時にすぐに不安な部分を確認したり、アドバイスを求められる経験豊富なメンターを近くにおいておくのがベストです。
基礎学習を進めるうえで学習サイトを使う事は非常に効果的です。
数ある学習サイトの中でも入門者にとっておすすめのサイトを5つ紹介します。
無料:一部利用可能
有料:¥980
契約期間:1か月単位で利用可能
【 サイトの概要 】
ProgateはRubyの基礎から応用までイラスト付きのスライドで分かりやすく説明しているため、初心者でも楽しみながら勉強できます。
基礎コースの全18レッスンは全て無料。
それ以上の応用コースは月額980円の有料会員登録が必要です。
利用ユーザー数は86万人、提供国数は100ヵ以上、Progateは多くの人に重宝されています。
【 無料で利用できる範囲 】
ProgateではRubyの基礎レベルの18レッスンが無料で受講できます。
最初はスライドの図解や説明を確認しながらスタート。
自分のペースで学習でき、学習記録も付くので習慣化するのにもおすすめ。
スライドの確認が終わると実際にプログラムを書いて勉強内容をチェックします。
手を動かしながら一つのプロダクトを作る勉強方法なので、わかりやすい仕組みになっています。
ブラウザ上でコードを書いて結果を確認するので、自分でソフトをインストールしてプログラミングの環境構築をする手間が省けます。
【 サイトの特色 】
Progateは自分で手を動かすように設計されています。
将来Rubyで仕事をするにしても、手が動かせるようになるのがProgateのレッスンです。
有料プランは1か月から利用できます。
今月は忙しいので解約したい、来月は時間があるので契約したいなどの選択もできるので初心者にとって始めやすいサービスです。
無料:一部利用可能
有料:¥980
契約期間:1か月単位で利用可能
【 サイトの概要 】
ドットインストールは、1回3分の短い動画で学習をするので、その日の空き時間や気分に合わせて学習のペースを調整しやすいです。
全386レッスン5,749本の動画を視聴可能です。
全ての動画を見るためには月額980円のプレミアム会員登録が必要です。
プレミアム会員は視聴できる動画が増えるだけでなくソースコードの閲覧が可能になったり、動画の文字起こし機能がついたりしてスムーズに学習が出来ます。
【 無料で利用できる範囲 】
ドットインストールで学べるRubyのレッスンは全部で6つありますが、そのうち2つは無料で受講可能です。
無料会員でも、自分がどこまで進んだか記録を残しながら学習を進められます。
【 サイトの特色 】
Rubyであれば「Rubyでウェブサービスを作れるようになろう」という目的がハッキリしたレッスンパックを受講するため、勉強中に方向性がブレる事がありません。
また、動画の内容は実際に作業をしている工程を全て見せる内容になっているので、順を追って手を動かせば誰でも簡単に真似出来る仕組みになっています。
しかし、作業環境などは自分で用意をする必要があるため手間がかかる部分があります。
無料:すべて無料で利用可能
有料:なし
契約期間:なし
【 サイトの概要 】
Let’sプログラミングはRuby入門からRuby on Rails入門に至るまでのステップを学ぶ事が出来ます。
開発環境構築など一から学ぶ事が出来るためプログラミングのまとまった知識を習得出来ます。
テキストと画像を見ながら順に学習を進めていくのでキッチリとした順番で学んでいきたい方にはおすすめ。
解説とサンプルがありプログラムを模写しながら学習を進められます。
【 無料で利用できる範囲 】
Ruby学習のために用意された「Ruby入門」「Ruby正規表現の使い方」「Ruby on Rails入門」はいずれも無料で受講が可能です。
【 サイトの特色 】
Let’sプログラミングは1つ1つ順に進めていく形式になっています。
途中で分からないところが出ると次に進めないので、理解したかどうかハッキリ分かります。
しかし、記載されている画像が最新のパソコン画面と異なっている場合があるので、状況に応じて対応する必要があります。
URL:http://www.minituku.net/courses/566428009/contents/685444640.html
無料:すべて無料で利用可能
有料:なし
契約期間:なし
【 サイトの概要 】
Rubyがミニツクはテキスト・イラスト・コードを用いて1つずつコースが進んでいくため、着実に知識を高めながら勉強を進めていく事が可能です。
Rubyの生みの親である”まつもとゆきひろ”氏も所属するNaCl(ネットワーク応用通信研究所)という組織がサイトを運営しています。
【 無料で利用できる範囲 】
Rubyがミニツクは全17レッスンを無料で受講可能です。
基本はテキストをベースとしていますが、随所に動画・演習・ドリルなどを織り交ぜているため実践的な力がつくような設計になっています。
プログラミング学習はアウトプットして体で覚えていく感覚が凄く大切ですが、まさにそれを基礎学習の中で実施出来るレッスン形式の学習サイトです。
レッスン構成も分かりやすい設計となっており、後から復習したいと思った時にすぐに見たい内容をチェック出来ます。
【 サイトの特色 】
Rubyがミニツクは、知識の獲得と同時に、「分かるではなく出来る」力を身に付けられる学習サイトです。
プログラマーは手を動かしてなんぼの職業なので理にかなっています。
無料:生放送のみ利用可能
有料:¥980
契約期間:1か月単位で利用可能
【 サイトの概要 】
Schooはプログラミング学習に限らず大人が学びたいと思うような仕事や人生に役立つ内容を映像で配信しているサイトです。
過去の映像を見る際には月額980円の会員費を支払う必要があります。
生放送以外は会員費を支払わないと視聴出来ないため、Rubyの講義を見たければ月額費用がかかる事になります。
【 無料で利用できる範囲 】
Schooでは生放送映像のみ無料で視聴する事が出来ます。
偶然Rubyの内容を放映していれば無料で受講可能ですが、キチンとコースを学びたいのであれば有料会員になる必要があります。
【 サイトの特色 】
SchooはRubyの講義といっても様々な人が映像をアップしているため、それぞれの講師によって教えている内容や教え方がバラバラです。
一度有料会員として月額費用を支払ってしまえば動画はすべて見放題となっています。
複数の候補から自分に合った動画で学んでいくことをおすすめします。
代表的な学習サイトを5つ紹介しましたが、どれで学習を進めていけば良いのか分からないというのが本音でしょう。
そこで、勉強を始める人におすすめしたい学習サイトを紹介します。
初心者は有名な教材を使うべきです。
つまずきやすいポイントに関して十分なデータがあるために、解決策がネット上にアップされている可能性が高いというのが理由です。
また、サイト自体がプログラミング初心者向けに分かりやすく作られており、日本語での解説も充実しています。
教材を決めたら一通りやりきることが重要です。
教材によってテキストがメインだったり動画がメインだったりとアプローチの仕方が異なりますが、結局は同じ内容を学ぶことになります。
仮に途中で挫折して教材を切り替えたとしても同じ箇所で挫折することになります。
受講すると決めた場合、すべてを完璧に覚える必要はありません。
先ずは、やりきるところから始めましょう。
結論から言えば、Progateがおすすめです。
Progateには、PCの開発環境を用意する必要がなく、いきなり学習スタート出来るといった特徴やイラスト中心のスライドで感覚的な理解が深まるなどというメリットがあります。
Rubyを学んだあとにRuby on Railsを実行するための講義も用意されています。
無料とは思えない充実した内容になっていますが、さらに学びたいなら、短期集中で有料版に取り組んでみるのが良いでしょう。
学習サイトはあくまでも基礎知識を身に付けるためのツールです。
一通りの基礎が終わった後にはアウトプットが欠かせません。
効果的なアウトプットの方法をいくつか紹介します。
学習サイトを使って基礎を一通り学ぶだけではプログラミングが出来るとは言えません。
インプットをした後はアウトプットが必要。
英語も文法を覚えただけではしゃべったり聞いたり出来ませんが、プログラミングも同じです。
コードを書けば書いた分だけ力になるので実践を通して力をつけていく必要があります。
実戦形式で力をつけていくと言ってもいきなり何もないところからサービスを考えるのは大変です。
そんな方におすすめなのがチュートリアルです。
Railsチュートリアルは、Webアプリケーションの開発から公開までの一連の作業を、実際に手を動かしながらRubyの使い方を学べるサービスです。
チュートリアルを使って自分なりにSNSサービスを作ってみるのがおすすめです。
筑波大学や琉球大学でもカリキュラムとして採用されている知名度のあるチュートリアルです。
手を動かしていくうちに基礎学習で学んだ内容も整理出来るようになります。
チュートリアルを一通り実践したら残すはオリジナルサービスの開発です。
アプリ開発やWebコンテンツの開発を通して全体の枠組みが見えるようになれば、自分に足りないスキルが明確になります。
また、サービスを作ったら必ず誰かに感想や使い心地などのフィードバックを貰いましょう。
一回で完成とするのではなく、何度も改良を重ねる事が重要です。
ここまでの内容を読み進めてきた方は、プログラミングで最も大切なのは手を動かす事だとお気づきでしょう。
しかし、そうは言ってもなかなか学習を始められない方が中にはいます。
最後に、そんな方におすすめの対処法を紹介します。
プログラミング学習を始められない人には、大きく分けると2つのパターンがあります。
1つ目は、どのようなサービスを作りたいのか曖昧で何を作るかが決まらない人です。
この場合は、あなたがどのような経緯でプログラミングに興味を持ったのか思い出しましょう。
何となく面白そうだからという理由で始めた方がほとんどではないでしょうか。
多くの人は明確に何を作りたいという思いが無くて当然。
確かに作りたいものを明確にするのは大切ですが、学びながら見つけていくのもありです。
理由の2つ目は、ミスを恐れてしまうことです。
これに関しては、世の中に出ている代表的なサービスでさえもバグが頻繁に起こっている事を考えれば、そもそも気にする必要すらありません。
エラーなしではプログラマーとしての成長はあり得ません。
どうしてもモチベーションがあがらなければ、物理的に学習する環境を作るのも1つの対処方法です。
ついつい学習するのをさぼりがちな人は、同じようにプログラミングを学びたい人を集めて一緒に勉強する時間を強制的に作ってしまいましょう。
勉強以外のリフレッシュする時間を過ごせる友達がいるのは楽しいものです。
画面から離れて談笑したり、こんなサービスを作ってみたいとお互いに意見交換をする事も重要な時間の使い方です。
最後に、自分は未経験だからプログラミングなんて出来ないと思っている人にとっておきの情報です。
実は、日本には現役最高齢のプログラマーがいます。
それも御年83歳、未経験でプログラミングを始めたのが60歳というのだから驚きです。
何歳からでもやる気さえあればプログラミングは上達できるのです。
実際にプログラミングを学んだ先には、就職や転職で有利になる未来も待っています。
これからの情報社会を生き抜くうえで必須といっても過言ではない技術を、早いうちに身に付けた方がはるかにお得ですよ。
[出典]世界最高齢83歳プログラマーが現役のワケ(東洋経済)Rubyを学ぶイメージはついたでしょうか。
プログラミング学習は手を動かす事が基本です。
まずは、Progateの基礎コースから初めて知識を得たうえで、チュートリアルや他サービスのコードを模写し、オリジナルサービスの開発まで突っ走ってください。
短期集中で一気にスキルを身に付ければ、それだけ早くあなたの未来を変革させる事が出来ますよ。