はじめに
Rubyは、まつもとゆきひろ(あだ名はMatz)によって開発されたオープンソフトウェアです。1995年にインターネット上で公開されたRubyは現在でも活発に開発が行われている人気言語です。
ちなみに、言語名の由来 は、開発者のまつもとゆきひろ氏の同僚の誕生石であるルビー(7月の誕生石)から名付けられました。 RubyはかなりPerlを意識して作られたといわれており、Perl(6月の誕生石のPearl)の次の言語、という意味もこめられているようです。
Rubyとは?
Rubyは生みの親である、まつもとゆきひろさんにより「最高のオブジェクト指向言語」をつくるために設計、開発が行われたプログラミング言語です。改良に改良が重ねられ、さまざまな機能が実装されておりRubyを使いこなせるようになれればとても強力な武器になります。
またRubyはスクリプト言語というスタイルで作られているので、C言語やJavaと違い、コンパイルという作業が入りません(以下は簡略化した例です)。
Ruby
プログラムを書く → 実行
C言語、Java
プログラムを書く → コンパイル → 実行
このようにRubyのようなスクリプト言語はソースコードをコンパイルする必要がありません。これにより「素早い開発」と「読みやすいコード」を実現しています。
RubyとRuby on Rails
Rubyの強みはなんといっても、Rubyを使えばほとんどのものが開発できるということです。基本的にプログラミング言語というのはできないことがあったり、ある分野に特化しているために、別の分野では使いものにならないということが多いです。
しかし、Rubyはその汎用性の高さから、特殊な開発でなければ広い範囲での開発が可能です。もちろん苦手分野というか、Rubyでは一般的に作られないサービスもあります。スマートフォンアプリや、機械学習などはRubyを使うよりそれに適したプログラミング言語を選択したほうが良いです。
そして、Rubyの爆速的な開発や、多機能なWebサイトを開発を可能にしているのが「Ruby on Rails」というフレームワークです。Rubyの発展はRuby on Rails抜きには語れぬほど、切っては切れない関係なのです。
Ruby on Railsは、2004年にデンマークのデイヴィッド・ハイネマイヤー・ハンソンがオープンソフトウェアとして世界中に公開さたRuby製のWebフレームワークです。公開されて以来、その他のWebフレームワークに大きな影響を与えており、現在でもRubyを使うということはRuby on Railsを使うこと、です。Ruby on Railsを使えば「Webアプリ」を簡単に作成できるだけでなく、機能面でもとても充実していますので、これからRubyを勉強される方、プログラミング学習初心者にとって、強力なツールになること間違いなしです。
上記は Rails を立ち上げたときに作られるファイルです。
これがRuby on Railsを使った開発の初期状態です。かなり多くのファイルが左側に並んでいますが、これらはRuby on Railsでアプリを作成した最初の段階で自動的に作られるファイル達です。
なぜこんなに多くのファイルが自動的に作成されるのでしょう?実はRuby on Railsには世界的にRubyを使う人が守らなければいけない8つのルールがあります。
- プログラマの幸福度を最適化
- 設定より規約を重視する(CoC)
- メニューは”おまかせ”で
- パラダイムが1つではない
- 美しいコードを称える
- 統合システムを尊重する
- 安定性より進歩を重視する
- テントを押し上げる
このなかで特に初心者が最初によく聞かされるのは2番目の「設定より規約を重視する」というものでしょう。
なにやら難しく書かれていますが、簡単に言うと
コードの書き方やプログラミングの組み方をみんなで揃えようね!
ということです。
前述したとおり、RubyとRuby on Railsはとても多機能であらゆる要望に答えることができるのが利点です。ですが、あえてネガティブに捉えるならば、いろいろな書き方ができてしまうので、つくる人によってはコードがとっても読みづらくなるという問題があります。
コードはすっきりしていて可読性が高い方が良いのです。
なぜなら、無駄が多いコードというのは変更に弱く、なにか変更しようと思って、ある一箇所を修正したらプログラムが動かなくった。なんてことが起こるかもしれません。もっとひどいのは修正したが為に別のところを修正して、その歪みを直す為に修正…. そのループを繰り返しているうちにコードがぐちゃぐちゃになり、修正不可能になってしまいます。
なのでRuby on Railsを扱うときにはプログラミングの組み方をなるべく世界中で統一した方がよいのです。
その為にRuby on Railsをはじめに立ち上げた段階で多くファイルが作られ、アプリを作りやすい状態が用意されるのです。もちろんはじめにこういったファイルがあるおかげ爆速でアプリを作成できるという利点もあります!もちろん、みんながあらかじめ使うであろう材料をRuby on Rails 側で用意して、「材料一通り揃えたから、あとはファイルを増やすなり、いじるなり好きにやってね」と、プログラミング環境を整えてくれるわけです。
多くのファイルがあるで、一見Ruby on Railsは難しいのではないかと思ってしまうかもしれませんが、これらのファイル全て使うわけではありませんし、よく使うファイルというのは大体決まっています。なので数回アプリを作っていれば、大体の要領は掴めて、「Railsって難しくないじゃん!」と感じるはずです。
まとめ
RuybとRuby on Railsは活発に勉強会やコミュニティーが開かれています。初心者にも比較的、学習しやすい言語です。なにより、日本語の情報が多いので、初学者や独学でプログラミング勉強されている方にもおすすめできる言語です。
是非、興味があったら Web 学習サイトで気軽に Ruby と Railsを楽しんでみてくださいね。