DACエンジニアブログ:アドテクゑびす界

DACのエンジニアやマーケター、アナリストが執筆するアドテクの技術系ブログです。

【未経験からのRuby on Rails – 第1回】楽しく書けるプログラミング言語 “Ruby” とは

こんにちは、はじめまして。新卒1年目のmatsuari(女子)です。

この度、Rubyの勉強を始めることになりまして、 まずはたくさんあるプログラミング言語の中で、なぜ自分がRubyを学ぶのか?

しっかりと把握した上で学習に取り組んでいきたいと考え、『Rubyとは何か?』調べました。

超基礎的なことで恐縮ですが、Rubyとはどのようなものか、簡単にご紹介していきたいと思います。


Rubyとは??

まつもとゆきひろ氏によって開発された、

プログラミング言語(オブジェクト指向スクリプト言語)です。

大きなWEBアプリケーションから小さなプログラムまで、様々なソフトウェアを作ることができます。

また、Rubyは気軽に楽しくプログラミングができて、実用的です。

プログラミング言語と言えばRubyの他にも様々な言語がありますが、

その中でもRubyはシンプルで書きやすい言語で、

初めて学習するプログラミング言語として適しているのです。 いったいRubyはどのくらいシンプルなのでしょうか?

“こんにちは”と表示するプログラムを、Rubyjavaで書いたもので比較してみます。

例)Ruby

[code lang="ruby"] puts "こんにちは" [/code]

例)java

[code lang="java"] public class HelloWorld { public static void main(String[] args) { System.out.println("こんにちは"); } } [/code]

このように、Rubyを使うと

少ないコードでプログラムを作ることができます!

「シンプルな文法で記述できる」というRubyの特徴をご理解いただけましたでしょうか。

 

こちらのサイトでは、Ruby on Railsで作られた有名サイトが紹介されています。 Ruby on Railsで作られた有名サイトの紹介 | PbTimes 情報誌

Rubyは多くのWEBサイトで使用されており、 また大規模なサイトを制作することも可能であることがお分かりいただけるかと思います!

 

ところで。

Ruby on Railsとは何なのでしょうか??

『Ruby on Railsは、オープンソースのWEBアプリケーションフレームワークである』

by Wikipedia。

 

WEBアプリケーションフレームワーク?とは??

フレームワークとは「特定の用途の機能を簡単に使えるようにしたもの」です。

ですので、WEBアプリケーションフレームワークというのは

「WEBアプリケーションを簡単に作れるようにする骨組み」のことを言います。

開発者は、このフレームワークを利用することで、効率的に開発を行うことができるのです。

 

以上、Rubyについて簡単にご紹介させていただきました。

Rubyを学ぶメリットを感じてきたところで!

最後に、 Rubyは他のプログラミング言語と比べてどれくらい人気なのか?

調べてみました。

 

TIOBE SOFTWAREという会社(オランダ)が、

プログラミング言語の人気ランキングを発表しています。

 

2015年6月のランキングはこちら↓

Rubyは16位・・・と、まずまずな結果・・・。

 

Rubyは載っていませんが、 人気プログラミング言語の推移を見ると、こんな感じ

上位言語はオブジェクト指向のJavaとオブジェクト指向でない C

Javaは日本で利用者が多いですが、 2002年から減少傾向。

Cはほぼ横ばいです。

iPhoneアプリ開発で人気のObjective-Cは、

2009-2010年頃から急速に人気が高まっているなど、それぞれの言語

推移の特徴がありますね。

 

ところでRubyの推移は・・・

2006年頃から人気が高まりましたが、2010年頃から減少傾向。

2006年には年間最優秀プログラミング言語にも選ばれています。


 

最後にプログラミング言語の人気ランキングを見て、

Rubyの結果は少し残念ではありましたが・・・

Rubyは日本ではまだまだ人気ですし、

シンプルで書きやすい言語であることからも、

初心者にとって学びやすく、挫折をせず勉強し続けやすい言語 なのではないでしょうか。

 

手を動かさずに理解していくことは難しいかと思いますので・・・

今回何となくRubyやRailsがどのようなものか、理解できたところで、

本格的な学習に取り掛かっていきたいと思います!