Rubyとは、1995年に日本のソフトウェア技術者によって開発されたプログラミング言語です。ここでは、Rubyの特徴や他の言語との違いについて見ていきましょう。
Rubyの特徴は、「オブジェクト指向」のプログラミング言語である、という点が挙げられます。Rubyは「すべてがオブジェクト」という思想のもとで開発されたプログラミング言語です。そのため、プログラムの全てを「塊」としてつながりが見える独特の構造になっている点が特徴といえます。
また、自由度の高さもRubyの特徴とされています。もちろんRubyにも文法はありますが、非常にシンプルな構造になっていることから、プログラムを考えるのに多くの時間・労力を費やせる点が大きな魅力とされています。
「Ruby」と「Ruby on Rails」の違いを簡単に言うと、Rubyは「プログラミング言語」、Ruby on Railsは「フレームワーク」となります。
上記でご紹介している通り、Rubyは日本で開発されたプログラミング言語です。対してRuby on RailsはRubyのフレームワークのひとつです。フレームワークとは、スピーディーに開発を進められるように、必要な機能をあらかじめ用意した枠組みをいいます。そのためフレームワークを利用すると、ほんの数行コードを記述しただけで必要な機能を実装できるケースもあります。
Ruby on Railsはシリコンバレーで開発されたものですが、このフレームワークが登場したことでWeb開発をスムーズに行えるようになったといわれています。また、Rubyが世界中に普及したのも、Ruby on Railsの登場によるものとされています。
RubyもPythonも、どちらもオブジェクト指向のプログラミング言語です。いずれもシンプルで比較的わかりやすいコードであることや、さまざまな開発実績を持っているといった共通点もあります。
この2つのプログラミング言語における違いですが、Rubyの場合は「Web開発に強い」部分がポイントとなってきます。フレームワークを活用することによって、効率的にWeb開発を行えます。
一方、Pythonは「機械学習や人工知能開発に強い」点が特徴として挙げられます。ライブラリやフレームワークが充実していることから、データの収集や分析、Webサービス開発などにも活用されています。
ここからは、Rubyがどのような用途で用いられているのかについてご説明します。
Rubyでは、例えば通販サイトのような、Webで情報やサービスを得られるサイトの制作が可能です。この場合、Rubyは主にWebサーバサイド処理を実装する際に用いられます。
Rubyが得意とする分野のひとつに、Webアプリ開発があります。例えば、動画共有サービスなどの開発を行えます。Webアプリ開発を行う場合には、Ruby on Railsを活用することで既存のライブラリを流用できるため、開発の手間を削減できます。
「スクレイピング」とは、Web上にあるデータを抽出することですが、Rubyでは「Nokogiri」というライブラリを使用して、容易にスクレイピングの実装を行えます。
Rubyにはさまざまなフレームワークや開発環境が用意されています。中には、スマホアプリ開発に適したフレームワーク・開発環境もありますので、iOSやAndroidのスマートフォンで利用できるアプリの開発も行えます。
異なるサービスが連携を行う際の窓口となるプログラムをAPIと呼びます。Ruby on Railsを活用することにより、このAPIの開発も行えます。
Rubyは非常に多くのところで活用されているプログラミング言語です。ここでは、Rubyの活用事例を2つご紹介します。
Rubyを用いて開発されたWebアプリの有名な例としては、「cookpad」があります。cookpadは1998年にスタートしたレシピコミュニティサービスです。ユーザーが考えたレシピを公開・共有できること、また他のユーザーがそのレシピを作った時にコメントを投稿できるなどさまざまな機能があります。
このcookpadの開発者ブログは非常に有名であり、開発に関するノウハウが公開されていますので、興味のある方はチェックしてみると良いでしょう。
アメリカで2008年に誕生した動画配信サービスの「Hulu」は、Ruby on Railsを用いて開発されたサービスとして知られています(日本では2011年からサービス開始)。定額で映画やドラマ、アニメなどさまざまな映像を見られることから、非常に人気の高いサービスとなっています。