「Rubyってどんなプログラミング言語なんだろう?」
これからプログラミングを学習していこうとしている方や、初めて「Ruby」を知った方はそのように考えていると思います。
本格的なRubyの学習に取り掛かる前に、「Rubyとはどういうものなのか」という本質を掴んでおくと学習もスムーズに進みます。
そこで今回は、初心者の方でもわかるように、Rubyとはなにかという基礎の基礎を説明していきます!
今後の土台となる知識をしっかりとつけることで、これからの学習をより効率的に行えるようになるでしょう。
・Rubyについての基礎知識を知っておきたい
・プログラミング言語の選定に迷っている
・Rubyの学習を効率的に進めていきたい
この記事の目次
Rubyとは①「オブジェクト指向」
Rubyで扱うモノすべてはオブジェクトです。
すべてのモノには、ひと塊のデータ、プロパティ、メソッドが付属しています。
これは、Rubyのすべてのモノについて、オブジェクト指向の方法論や、デザイン・パターンなどが適用できることを意味します。
オブジェクト指向では、データとメソッドを一緒に取り扱うことで、処理の単位をシンプルにまとめています。
これを使いオブジェクトをカプセル化することにより、仕様変更による影響範囲を極小にとどめて、開発効率を高めるための方法論がオブジェクト指向です。
デザイン・パターンは、オブジェクト指向の考え方を発展させています。
オブジェクト同士をどのように組み合わせれば、コードに変更に対して保守性を持ち、コードによるオブジェクトの拡張に対して自由度を持たせるか設計する方法論がデザイン・パターンです。
Rubyはすべてのモノがオブジェクトであるため、これらの方法論のメリットを豊富に受けることができます。
オブジェクト指向について、詳しくは下記の記事を参照されてください。


Rubyとは②「インタプリタ方式」
インタプリタ方式とは、プログラミング言語をコンピュータが直接理解できる言葉に変換して実行する方法の一つです。
命令を一つずつ機械語に翻訳しながら実行する方式で,解釈実行方式ともよばれます。
作成したソースプログラムをすぐに実行できるという点がこの方式のメリットです。
また、エラーが発生した場合に、原因がどこにあるのか発見しやすいのも特徴です。
Rubyとは③「柔軟な言語特性」
Rubyではクラスを扱えますが、旧来の文法に厳格な言語、特にコンパイラ言語ではできないことをできます。
例えば、通常クラスは一度定義すると、その後はクラスの定義を変更できないのですが、Rubyでは後付けでクラスの定義を変更できます。
以下のコードは、組み込みで定義済みのクラスNumericの定義を、ユーザーのコード内で後付けで変更し、実際に使用しています。
class Numeric def multiple(x) self.*(x) end end y = 8.multiple 2 p y #=> 16
これはRubyの用語では特異メソッドと言います。
一例だけでしたが、このように、従来の言語の枠に縛られない柔軟な言語特性を持っています。
Rubyとは④「記述量が少ない」
記述量が少ないのは、開発者にとって非常に助かります。
他の言語であれば、6行〜10行必要な場合でも、Rubyは1行で済む場合があります。
と侮る事なかれ。
これがプログラム単位で考えると、かなり大きな差が出ます。
単純に作業の短縮が可能です。
Rubyとは⑤「日本発のプログラミング言語」
Rubyは実は日本生まれだって、みなさん知ってましたか?
他の言語に比べ圧倒的に日本語のドキュメントや情報がとても多く、日本人にとってはとても扱いやすい言語なんです。
他の言語であれば英語圏で生まれたものが多く、どうしても英語の情報が多くなってしまいます。
プログラミング以外での労力を使わずにすみます。
さらにRubyでできることを知りたい場合、こちらをご覧ください。
Rubyでプログラミングを始めるには
Rubyは人の直観に則した言語設計がなされており、初心者の方にも取り組みやすい言語です。
また、コンパイラ言語とは違い、実行結果やエラーの箇所がすぐわかるスクリプト言語であることも初心者でも取り組みやすい理由の一つです。
Rubyは入門用から本格的なオブジェクト指向やWebフレームワークなど応用用途まで幅広くサポートしていますので、Rubyを覚えておくと以後のスキルの確立に役立ちます。
Rubyに興味がある方、Rubyで開発したい方は、以下の記事をご覧になりRubyのスキルを具体的にどのように手に入れたらよいかのヒントを得られてください。


まとめ
私もRubyは好きな言語です。
遠隔作業の業務委託から正社員まで様々な案件があるRuby。
この機会に是非学習してみてはいかがでしょうか。