【漫画でIT入門】とあるIT企業の社員活動日誌 第22話「プログラミング学習のすゝめ⑧ Rubyとは?特徴と出来る事」
パソコンを使う人のありそうでなさそうなお話や、ガジェットのお話を漫画で紹介させていただくコーナーです。
とあるIT企業に務める彼女たちは日々楽しく真面目に業務に励んでいます。その中で、起こったハプニングや困った事などを活動日誌を通して覗き見していきましょう。
【漫画で入門】「とあるIT企業の社員活動日誌」各話一覧はこちら
今回の漫画の内容は本文と異なります。彼女たちの束の間休日をお楽しみください。
また、Rubyについて早く知りたいという事は漫画下の本文よりお読みください。
目次
Rubyとは??
Ruby(ルビー)とは、1995年に一般公開されたオブジェクト指向スクリプト言語です。
このスクリプト言語とは、アプリケーションソフトウェアを作成するためのプログラミング言語のことです。
この言語の生みの親は日本人であり「まつもと ゆきひろ(通称:Matz)」さんという方です。まつもとさん自身が好きな言語の一部(Perl、Smalltalk、Eiffel、Ada、Lisp)をブレンドして新しいプログラミング言語「Ruby」が誕生しました。
また、Rubyは日本で開発されたプログラミング言語の中で、初めて国際規格である「国際電気標準会議(IEC)」で認定されたプログラミング言語です。
Rubyはフリーソフトウェアなので、無料で使えることはもちろん、複製・変更、および再配布も可能となっています。Rubyのコードはシンプルに書きやすく読みやすいので、知識の浅いプログラマーやプログラミング未経験者にもおすすめのプログラミング言語のひとつです。
Rubyの特徴について
Rudyにも他の言語と同様に様々な特徴があります。Rudyの特徴について下記にてご紹介していきます。
Rubyの特徴①「オブジェクト指向」
Rubyはオブジェクト指向に基づいているため、プログラムを共有したり多様に使い分けることが可能です。
オブジェクト指向言語にはRubyの他にJavaやJavaScript、C++、PHPなどがあります。
※オブジェクト指向については20話のJavaの回で簡単に説明しています。知りたい方は下記からご参照ください。
【漫画でIT入門】とあるIT企業の社員活動日誌 第20話「プログラミング学習のすゝめ⑥ Javaとは?特徴と出来る事」
Rubyの特徴②「コードが比較的シンプル」
Rubyはソースコードがシンプルで書きやすく読みやすいという特徴があります。
さまざまな種類が存在するプログラミング言語の中でも、Rubyはソースコードがシンプルな分類です。
プログラムを開発するのに必要とするコードの記述量が少なく済むことから、書きやすいだけでなく、他の人が読んでも何を書いてあるのか読み取りやすいです。そのため保守がしやすく性能の高いプログラムが開発できます。
Rubyの特徴③「日本発のプログラミング言語」
Rubyには、日本発のプログラミング言語という特徴があります。
すでに上記でもご紹介していますが、Rubyは日本人のまつもとゆきひろ氏が開発しました。
また、日本において作り出されたプログラミング言語としては、国際規格である「国際電気標準会議」ではじめて認定されています。
このようにRubyは日本生まれのため、日本語で書かれた情報も見つけやすく、初心者にも学びやすい環境だと言えるでしょう。
Rubyの特徴④「web開発向けのフレームワークが存在する事」
RubyにはWeb開発向けの「Ruby on Rails」というフレームワークがあるという特徴があります。
フレームワークとはWebアプリ開発などに必要な機能を集めた枠組みのことで、「Ruby on Rails」はWebアプリケーションの開発を効率化できる便利なフレームワークです。
また、Rubyは他にもPadrinoやSINATRA、Hanamiといった様々なフレームワークが使えます。
Rubyの特徴⑤「柔軟性」
Rubyは柔軟な言語として知られています。
Rubyでは、ユーザーが自由にその一部を変更することができます。
やろうと思えば、Rubyのコアな部分でさえ、削除したり再定義することも可能で、既存の部品をその上に追加することすらできます。
Rubyはプログラマを制限しない言語なのです。
Rubyで出来ること
Rubyを使いできることとして主なものに、Webサービスやアプリケーションが挙げられます。
Rubyは人気のフレームワーク「Ruby on Rails」のベース言語です。
Ruby on RailsはWebアプリケーションを作成するためのフレームワーク(枠組み)で、これを利用してさまざまなアプリケーションの開発ができます。
上記でも説明した通りRubyは、Ruby on Rails以外にも、SINATRA、Padrino、Hanamiなどのフレームワークでも使えます。
Rubyで出来ること①「アプリケーションサイトの制作」
Ruby on Railsを使って開発できるものとしてアプリケーションサイトが挙げられます。
数多くのパッケージとAPIがあり、工数を削減しつつサービスを作成できます。
Rubyで作られた代表的なアプリケーションサイトとしては、日本でも有名なレシピサイトの「クックパッド」、飲食店のグルメクチコミサイトの「食べログ」など著名なサイトがあります。
Rubyで出来ること②「ショッピングサイトの制作」
Rubyを使えば、本格的なショッピングサイトを作ることも可能です。
さらに定期購読の販売、キャンペーンページのような単発の商品販売サイトなど、さまざまな形式のサイトが開発できます。
ゼロからプログラムを組んでショッピングサイトを作る方法もありますが、Rubyには「Solidus」という簡単に決済機能を実装できるパッケージが用意されています。
そのため、ショッピングサイトのフロント部分だけではなく、決済機能などのバックエンドの部分まで開発が可能です。
Rubyで出来ること③「SNSサイトの制作」
Ruby on Railsでは、ユーザー登録、ログイン、データベースなどSNSサイトに必要な要素を作成できます。
過去、TwitterでもRuby on Railsベースのシステムを使っていました。(現在はJavaVMに移行)
その他にも、ビジネスSNSの「Wantedly」、宿泊施設・民泊を貸し出す人向けのコミュニティサイト兼予約サイトの「Airbnb」などもRubyのシステムを使っています。
RubyとPythonの違いについて
Rubyと共通する点が多いプログラミング言語としてPythonがあります。
どちらも読み書きがしやすく、RubyでできることはPythonでも開発することが可能です。
ただし、RubyとPythonでは、得意とする分野が異なります。
Pythonの得意分野
Pythonが得意とするのは、統計学、解析、分析などで、人工知能・機械学習といった分野です。
Rubyの得意分野
Rubyが得意とするのは、ショッピングサイト、ブログサイト、アプリケーションサイトなど、フレームワークを使い構築できるWebサイトです。
フレームワーク「Ruby on Rails」とは
Rubyを使用したフレームワークのひとつとして知られるのが、先ほどから度々登場しているRuby on Railsです。
2004年に、デンマークのプログラマであるデイヴィッド・ハイネマイヤー・ハンソン(通称DHH)氏によって作られました。
エンジニアの間では縮めてRails(またはRoR)と呼ばれることも多く、簡単なコードでWebアプリケーションの開発ができるように設計されています。
フレームワークとは・・・
フレームワークとは、Webアプリケーション開発を行う際に必要となる機能や、基本的な骨組みをまとめたものです。
あらかじめ完成している土台に、必要最低限のプログラムを書くだけでアプリケーションを作ることができます。
フレームワークを使うことで開発工程を短縮させられるほか、コードの書き方が統一されることで、機能追加や改修が楽になるというメリットを得られます。反面、フレームワークは枠組みが決まっているぶん、カスタマイズ性に劣るというデメリットもあります。
そのため、アプリケーションに搭載する機能によっては自分で一からコーディングする必要があるでしょう。また、フレームワークを使うには使用方法そのものを勉強する必要があるため、学習コストが発生するという欠点があります。
Ruby on Railsの特徴とは
Ruby on Railsは、「MVCアーキテクチャ」に基づいて構築されたフレームワークです。
それぞれ、Model(モデル)、View(ビュー)、 Controller(コントローラ)の頭文字をとって名付けられています。
Ruby on Railsの特徴①「Model」
Modelは、主にデータベースとのやり取りや、システムの処理(ビジネスロジック)などを司る機能です。
データベースから情報を取り出したり、書き込んだりする場合は、Modelに対して指示を与える必要があります。
Ruby on Railsの特徴②「View」
Viewとは、画面(ブラウザ)への表示を司る機能で、html形式でブラウザにどんなページを表示するか定義づける役目を担っています。
WebページやWebサービスの見た目(インターフェース)を決める際に欠かせない機能です。
Ruby on Railsの特徴③「Controller」
Controllerは、指令や指示を司る機能です。
先に挙げたデータベースとのやり取りや、ブラウザへの反映は、ModelやViewに対してControllerが命令を与えることで初めて実行されます。
Ruby on Railsの特徴のまとめ
これらの機能ごとに独立性が高いMVCアーキテクチャは、分業がしやすく、仕様の変化にも対応がしやすいのが利点です。
MVCを基本設計とするRuby on Railsは、システムやアプリケーションを効率良く開発することができるのです。
Ruby on Railsで出来ること
元々、Ruby on RailsはWeb開発向けのフレームワークとして設計されているため、Webアプリケーションを作るのに適しています。
単純なWebサイトやSNSを初め、決済機能を備えたショッピングサイト、サイトからデータを取得するクローラーの開発などは、Ruby on Railsで作られることもあります。
例えば、世界最大規模のSNSとして知られる「Twitter」は、Ruby on Railのフレームワークで設計されたことで知られています。このほか、国内のレシピサイトとして高い人気を誇る「クックパッド」や、民宿の提供や検索ができるWebサービスの「Airbnb」など、Ruby on Railを利用して作られたサービスは数多く存在します。企業やサービスのスタートアップには、開発スピードが求められるケースが多く、フレームワークとして開発効率に優れたRuby on Railが採用されるケースも少なくないのです。
ただし、Ruby on Railsは開発効率やコードの書きやすさに優れる一方で、処理速度が遅いという欠点があります。
速度が重視されるスタートアップでは、Ruby on Railを使って開発を行ったとしても、規模が大きくなるにつれて、Javaのような処理速度に優れた言語に切り替えることもしばしばです。
大規模なデータを扱う開発には不向きのフレームワークといえるでしょう。
まとめ
今回は日本で生まれたプログラミング言語である「Ruby」をご紹介していきました。
日本で生まれたプログラミング言語であるため日本語での情報が多く非常に勉強しやすくなっています。
また、フレームワーク「Ruby on Rails」やそのほかにも多くのフレームワークが存在しているため様々なアプリケーションの開発を簡単に行う事が出来る言語になっています。
これらのことから初学者向けのプログラミング言語であると言ってもよいでしょう。
一度入門用のテキストに目を通してみては如何でしょうか??
さらに学べるおすすめ書籍
・Rubyの基礎から学ぶプログラミング入門: 実践的なアプリケーション開発とライブラリ活用