Rubyとは?プログラミング初心者がRubyを勉強することのメリットとは?
プログラミング初心者が学びやすい言語として、また国産のプログラミング言語としてRubyを聞いたことがあるという人も多いのではないでしょうか。
今回はプログラミング初心者がRubyを紹介しながら、Rubyを学ぶことのメリットを紹介していきます。
Rubyは国産言語?
Rubyに関するWikipedeiaのページでは下記のように説明がされています。
Ruby(ルビー)は、まつもとゆきひろ(通称 Matz)により開発されたオブジェクト指向スクリプト言語であり、スクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現する。
また日本で開発されたプログラミング言語としては初めて国際電気標準会議で国際規格に認証された事例となった
オブジェクト指向やら難しい単語が出て来ましたね。
まず、注目すべきは日本人である、まつもとゆきひろ氏の手により開発された言語ということ。
Rubyの名前の由来はまつもと氏の同僚の誕生石(ルビー)にちなんで名付けられたそうです。
Rubyを開発していた当時は会社に勤めながら開発していたというから驚きですね。
まつもと氏がRubyを開発するにあたり、設計思想に取り入れたのは、
「ストレスなくプログラミングを楽しめるかどうか」
この設計思想通りに、他言語に比べて感覚的にコードを書くことができるため習得が容易と言われています。
確かに実際にコードを書いてみると、他言語に比べて感覚的に書けるので習得は容易と言えるでしょう。
Rubyはオブジェクト指向言語
RubyはJavaのようにクラスベースのオブジェクト指向言語を採用しています。
Rubyでは数値や文字列、そしてクラスもオブジェクトとして扱われます。
JavaのようにオブジェクトではないものはRubyには存在しません。
より良いPerl
歴史的にはRubyは「より良いPerl」として発展してきた経緯があります。
Perlと同じく文字列を簡単にかつ強力に扱うことができる言語ですが、Perlよりも簡易にコードを書くことができます。
Rubyを学習することで何ができるようになるか?
それではRubyを勉強することでどういったことが出来るのでしょうか?
多くのプログラミングスクールが取り入れている、RubyのフレームワークであるRuby on Railsを使ってwebアプリケーションを作成することができます。
webアプリケーションというのは、web上で動く何かしらの機能を持ったwebサービスと考えてください。
Ruby on Railsを使うことで高速で開発することが可能になるので、スタートアップ界隈で人気のフレームワークになっています。
Ruby on Railsを使ったwebサービス
実際にRuby on Railsを使ったwebサービスにはどういったものがあるのでしょうか?
難しい単語で説明するよりも、Rubyを勉強するとこういったものを作れるようになる!という方がイメージが湧きやすいと思うので、Ruby on Rails謹製のwebサービスを2つ3つ紹介します。
クックパッド
言わずと知れた主婦の味方。レシピ投稿サイト「クックパッド」もRailsで作られています。
・ユーザーがレシピを投稿する
・気に入ったレシピを保存する
などのような機能がメイン機能として実装されていますね。
https://cookpad.com
マネーフォワード
家計簿管理のアプリサービスです。スマホアプリでも展開されていますが、web版のアプリケーションはRuby on Railsで作成されています。
ユーザーごとに支出入を登録する管理画面があり、これもRuby on Railsで実装されています。
TimeTicket
ユーザーの時間を「買う」ことができるユニークなwebサービス「TimeTicket」
このサービスの肝は時間(スキル)を売りたいユーザーと、その時間を買いたいユーザーをマッチングするシステムです。
このマッチングサービスにもRuby on Railsが使われています。
Ruby on Railsからは離れますが、Rubyを勉強することで自動でネット上の情報を収集するクローラーも作成することができます。
様々なGemが用意されているのもRubyの魅力の1つですね。
まとめ
新しくプログラミング言語を勉強する時に、そのプログラミング言語を勉強することで、何が出来るようになるのか?ということを念頭に置いて勉強すると定着しやすくなります。
紹介したようにRubyを勉強することで、Ruby on Railsを使ってwebサービスを開発することもできますし、言語自体が学習しやすいのでプログラミング初心者にはうってつけの言語ではないでしょうか。
どの言語からプログラミング学習を始めよう・・・と悩んでいる方は選択肢の1つにRubyを採用するのも十分価値がある選択と言えます。