##はじめに
ぼくがRubyを勉強し始めたのは、1ヵ月くらい前。とはいえ、本腰を入れてプログラミングを学びはじめたのは5ヵ月くらい前で、HTML/CSS→JavaScript→PHPとさんざんつまみ食いした挙句、やっとこさRubyにたどり着きました。
でも、もし5ヵ月前の自分に声をかけられるとしたら、「HTMLとCSSやったらRubyやれ」と言うでしょう。
本記事では、ぼく自身の経験を踏まえつつ、『プログラミング初学者にRubyをおすすめする理由』を書いてみようと思います。
##Rubyがおすすめな理由
結論からいうと、ぼくが感じているRubyの魅力は以下の3つです。
①就職に有利(たぶん)
②学習環境が素晴らしい
③日本語のリソースが豊富
ひとつずつ説明していきますね。
##Rubyは就職に有利(らしい)
ぼく自身まだ就職していないので実体験をもって話せませんが、ウェブ系エンジニアになるのであれば、Rubyをやっておくと就職で有利になるパターンが多いです。
まずは単純に母数の問題です。
Rubyには『Ruby on Rails(Rails)』という有名なフレームワークがあって、多くのウェブ系スタートアップでは開発言語としてこのRailsを採用しています。
ぼく自身かなりの数の求人をチェックしましたが、Railsを使っているスタートアップはとても多い印象でした。というかむしろ、ぼくがRubyに興味をもったのは、「面白そう」と思う会社のほとんどでRailsエンジニアを募集していたからです。
また、開発言語というのは「ヤバい会社」を見分けるひとつの指標としても機能します。
古くて廃れてきている言語や技術を開発言語にしている会社は、業界の流れについていけていない可能性が高く、先行きが不安です。加えて、そういう会社でがんばって働いても、エンジニアとしての市場価値は上がりづらいことが予想されます。
Rubyは言語としてはむしろ古い部類にはいると思いますが、アップデートの頻度がたかいので、Rubyを採用している企業は必然的に積極的なキャッチアップが要求されます。
結果として、Rubyを使っている会社を選ぶだけでモダンな開発環境で開発できる可能性が高く、「ヤバい会社」をある程度フィルタすることができます。
##学習環境が素晴らしい
ぼくがとくに強調したいのは、初学者が着実に力をつけながら学習をすすめていくためのステップが確立されていることです。
未経験からエンジニアを目指すときによく言われるのは、
①オンライン教材で基礎を勉強して
②アプリつくって
③ポートフォリオをつくれ
というもの。
どんな言語を選んだとしても、基礎はプロゲートなりドットインストールなり入門書なりで身につけることができますし、簡単なクイズアプリくらいならすぐに作れます。そうすると次は「もうちょっとちゃんとしたアプリ」を作りたくなりますが、ぼくは毎回そこで手が止まってしまいました。
まずどんなものが作れるのかイメージできないし、もし「こういうアプリが作りたい!」と思っても、何から始めたらいいのか分からなくて迷子になってしまうんですよね。
完成したアプリを『家』に例えると、プログラミング言語の基礎というのは木材やコンクリートといった『材料』のようなものだと思います。でも、材料だけでは家は建てられません。家を建てるには、材料のほかに、材料の組み合わせかたや使いかたといった、『設計図』が必要なんですよね。
そしてRubyには、先ほど紹介した『Ruby on Rails』という素晴らしい『設計図』があり、『Railsチュートリアル』というチュートリアルまで用意されています。
Railsチュートリアルではツイッターのクローンアプリを作りますが、ゼロからアプリのデプロイ(公開すること)までのステップが網羅されていてアプリ開発の一連の流れが理解できます。また、HTMLやCSS(Sass)・コマンドラインやGitなども使うので、必然的にそのあたりの知識も身につきます。
くわえて、ツイッターなどを使えば自分と同じくRailsチュートリアルに挑戦中の駆け出しエンジニアと知り合えたりして、モチベーションも維持しやすい環境ができあがっています。
##日本語のリソースが豊富
Ruby自体がまつもとゆきひろさんという日本人エンジニアが開発した言語なので、他の言語と比べて、日本語のリソースが多いです。さきほど紹介したRailsチュートリアルも日本語版があります。
エンジニアをやるなら英語は必須ですが、英語とプログラミングを同時に勉強するのは正直けっこう大変なので、日本語でいろんな情報にアクセスできるのは地味なアドバンテージだと感じています。
##まとめ
ぼくがさんざん遠回りした一番の理由は、作りたいものが明確になっていなかった、ということに尽きるのかなと、書いていて気づきました。
ぼくと同じように作りたいものがハッキリしていないひと、これからプログラミングを学ぼうと思っているひと、そして、挫折しそうで悶々としているプログラミング初学者に、Rubyという選択肢があるよ、ということを伝えたくてこの記事を書きました。
作りたいものが作れるエンジニアを目指して、日々頑張っていきましょう!