見出し画像

なぜRuby on Railsを学ぶのか?

Le WagonでRuby on Railsを教える7つの理由とは。
プログラミングを学ぼうとしてる起業家に良く聞かれます、「なぜRuby on Railsを学ぶのか?」と。それに答えるために、プログラミング初心者にRuby on Railsを教える理由を7つまとめてみました。
注意事項:初心者がRuby on Railsを学ぶことは選択肢の一つです。Python/Djangoも良い選択ですが、Le Wagonでは教育的価値を見出し、Ruby on Railsを教えることにしました。


手をつけやすいプログラミング言語
Ruby on Railsの良さの一つは、Ruby言語そのものにあります。シンタックスも単純、簡潔、順応性があり、英語と良く似ています。経験のある開発者にとってはRubyを使うことによって、独自のメタプログラミングを進めることができます(より抽象的な記法を使ってコードを書くことにより、動的にコードを生成するコード)。この言語で建設的に思考し、コードを書くことが楽しいです。


最小限のツール
自分のパソコンでsetupとconfigを開いたら、Ruby on Railsに関連しているシンプルなツールを使います。テキストエディター、ターミナル、そしてブラウザだけです。データの読み込みに時間を取られることもなく、コードを書けます。パソコンだけではなく、自分にも余裕が持てます。


自由自在に使える
Railsはフレイムワークの一つであり、フレイムワークとはプログラムを書く上でどの開発者も従わなければいけない考え方です。その上、ウェブアプリを開発する上で最も適切で優れたツールです。スタートアップでは素早さ・ピボット・反復・試行錯誤が日常生活の一部でしょう。Railsは何かを変更する際、自由自在に怯むことなくキャッシュしてくれます。
一般的に、どんなソフトウェアを開発するにしても、データベース、フロントエンド(例えば、ウェブサイトの目に見える部分)、バックエンド(サーバーのコード)が必要です。面倒なくこの三つの要素を調和し、体系化してくれる機能がRailsの魅力です。


簡易化された学びと連携
Railsは設定より規約の原理が大元にあります。自分のコードの構造は標準化され、フレイムワークによって義務的に決まってきます。そのように、Railsにも必ず倣う方式があるのです。これによってRails開発者は素早くRailsのアプリケーションに慣れ、コードを書いたことがない初心者にも学びと連携を容易にしてくれます。
もっと冗長な言語を使っていた開発者は、どこにコードが位置しているのか?と当惑してしまうかもしれません。しかし一度ルールを理解し、取り入れてみると新しい機能の開発が並外れてスピード良く進みます。


コミュニティの強さ
Railsは何千人の開発者が10年以上も取り掛かってきたオープンモジュール化されたGemです。この他にも何千個のGemが存在し、私たちは25個のGemを展開してきました。ほとんどの場合は、既に存在しているモジュールを元に設計していることから、素早いパフォーマンスが見られます。
それぞれのGemはGitHubでアクセスできます。自分が求めているGemがなかった場合は、求めている特定の機能を追求するために既存のGemを複製して自分用に編集できます。初期のGemにPull Request機能を設定して、自分の新しい機能をコミュニティに共有して還元することもできます。この精神は倫理的にも経済的にも魅力的です。なぜならRuby開発者は一から作り変えるのではなく、既存のピースを補うことでユーザーのニーズに集中することができるのです。
元々Rubyのコミュニティはオープンでシェア文化に染まっています。ウェブ上に存在する複数のコミュニティーに限らず、浅草にも展開しているAsakusa.rbグループのように実世界でも同じようなコミュニティを展開しています。


スタートアップの間で評価を得ている技術
大企業の間では JavaやC#などの言語が主に使用されている中で、Rubyはスタートアップの間で絶賛されています。たくさんの成功しているウェブのスタートアップ(例えば、GitHub、Twitter、Basecamp、Shopifyなど)はRails使い始めて、引き続き使っています。また、Le Wagonの卒業生はスタートアップにて開発者として活躍しています。

新しい言語も学びやすい
アラン・チューリングが言うように、全てのプログラミング言語は本質的に同じ表現力を持ちます。ある意味一つのプログラミング言語を使えるようになれば、他のプログラミング言語も使えるようになると言うことです。最も難しいのはプログラマーの思考回路を身につけることです。
仕事でどうしても他のプログラミング言語を使用しなければいけない時に、自分が好む言語と新しい言語のシンタックスの類似性に気づくでしょう。実際はもう一つ身につける必要があるスタックがあります。
・HTML&CSSはプログラミング言語ではなく、データ表現をするマークアップ言語です。ブラウザがウェブページを適切に表示するために必要になります。
・JavaScriptはブラウザに使われるプログラミング言語であり、ウェブページにDynamicsを追加することができます。例えばGmailにメールを受信した時にページを更新しなくても自動的にメールの通知が表示されます。それはJavaScriptのおかげです。(正確に言うとAJAX)
・SQLはPostgreSQLのようにデータベースに問い合わせることができるクエリ言語です。ウェブアプリケーションがユーザーにデータを表示し、 修正することもできる(例えば、Facebookのフィードにユーザーが新しく投稿できる機能)。全てを蓄えるデータベースの役割です。
・GitHub Flow:例え一人で作業をしているとしても、自分が使っているコードの違うバージョンを記憶することやgitを使う際に便利です。とても素晴らしいツールでありGitHubは社会的な繋がりや共同作業ができるツールを持ち合わせています。
・Rubyはサーバーサイドのプログラミング言語です。HTML/CSS/JavaScriptのようなフロントエンド言語ではなく、バックエンド言語として知られています。そしてRuby on Railsのフレームワークを使えることが必須になります。

__________

この全てのコンセプトが Le Wagonの9週間のフルスタック・プログラムに含まれている。通常1年かかる内容を生徒たちが9週間でこなしていく姿をみるのが楽しいです。Le Wagonの生徒はプロジェクトに大きい変化をもたらし、スタッフの専門的技術を試し続けています。新鮮な技術を持ち合わせた卒業生はキャリアで良い結果を残し続けています。

この記事が気に入ったらサポートをしてみませんか?