.net column

.NET開発者のためのブログメディア

プログラミング入門(Ruby)

2020年06月18日

SE
Rubyはプログラミング初心者に向いているプログラミング言語なのでしょうか?

PM
実際にRubyを使って簡単なコードを書くところまでご紹介するので、実践してみましょう!

Ruby入門

この記事では、プログラミングの入門者の中でも、まずは「Rubyがどういった言語なのか知りたい」という方に向けた記事内容になっています。Rubyの知識の中でも入門レベルになっているため、ぜひ参考にしてみてください。

Rubyとは?

Rubyとは、サーバサイドのプログラミング言語の一つです。つまり、「WEBアプリケーションのシステムを作れるプログラミング言語」という意味です。様々なWEBアプリケーションを開発するにあたって、世の中には様々なプログラミング言語が存在しますが、Rubyは比較的プログラミング入門者にとっても覚えやすい言語となっています。また、Rubyはオブジェクト指向スクリプト言語と呼ばれています。

オブジェクト指向とは

オブジェクト指向とは、データと処理内容を1つのオブジェクト(部品のようなもの)として定義して、多種多様なオブジェクトを組み合わせてシステムを開発していく手法です。オブジェクト指向を細かく理解するには、他の知識も深く知らなければならないため、はじめは「Rubyはオブジェクト指向という考えに基づいて開発された言語なので、柔軟でコードが書きやすい仕様になっている」といった理解でよいでしょう。

スクリプト言語とは?

スクリプト言語とは、コンパイルを必要としないプログラミング言語のことです。コンパイルとは、人間が書いたコードを機械語に翻訳する処理のことです。つまりスクリプト言語とは、プログラムの実行中にリアルタイムで機械にコードを解釈させているので、その都度エラーの確認ができ、デバックがしやすい言語です。

反対に、コンパイルが必要な言語をコンパイル言語と呼びます。コンパイル言語は機械に優しい言語なので処理速度が早いですが、エラーの検出が面倒な仕様になっています。どちらもメリット、デメリットは存在しますが、スクリプト言語の方がプログラミング入門者にとっては使いやすいです。その点、Rubyはスクリプト言語なので入門者も安心してコードを学ぶことができます。

Rubyの特徴

開発者が日本人である

Rubyの開発者は、まつもとゆきひろ(通称:Matz)と呼ばれる日本人の方です。1995年に一般公開され、今では世界的に有名なサービスがRubyによって開発されることもあります。日本人の開発者が、すでに存在していた言語(Perl、Smalltalk、Eiffel、Ada、Lisp)の良いところをブレンドして開発された言語なので、Rubyは日本のプログラミング入門者にとっても学びやすい言語として知られています。

大手のプログラミングスクールの教材もRubyを採用しています。Rubyの解説サイトや参考書籍も日本語が書かれている場合が多いです。何かわからなくなった時に自分で調べて、日本語で解説を読むことが可能です。また、Rubyはフリーソフトウェアになっていますので、すべて無料で誰でも自由に使うことができます。それに加えてコピーや変更、再配布まで自由に行えるので入門者にとっても安心して利用できるプログラミング言語といえるでしょう。

柔軟性の高い言語

Rubyが入門者にとって学びやすい言語になっている理由として、「柔軟性」が挙げられます。その柔軟性の1つとして、ユーザーが使いたいようにルールを追加できる仕様になっています。例えば計算するときの演算子として普通は「+」と表記しますが、「plus」と表記したい人がいた場合、Rubyのコアな部分であるクラス(ルールを決めているプログラムコードのようなもの)を変更してしまえば、「plus」が使えるようになります。他の言語では厳しくルール化されている書き方でもRubyでは可能になる、そういった点でRubyはプログラマーを選ばない言語となっているため、入門者にも優しく、上級者にも自由で使いやすいという利点になっています。

記述量が少なく分かりやすいコード

言語の開発時点で、まつもとゆきひろ氏が様々な言語を参考にしているので、無駄を省いた記述ができるようになっています。例えば他の言語では10行必要だったプログラムがRubyでは5行で済んだということも珍しくありません。その理由の1つとして「型がない」という特徴があります。他の言語では数字には数字の型があり、文字列には文字列の型があり、それぞれ宣言してから初めてコードを書けるようになります。しかし、Rubyでは自動で型を識別してくれるので、型にとらわれずにコードを書くことができます。

名前の由来

名前の由来は宝石の「ルビー」が関係しています。開発者のまつもとゆきひろ氏の同僚が7月生まれであり、その誕生石が「ルビー」という理由で名付けられた、と言われています。また、まつもとゆきひろ氏の好きな言語の1つにPerlという言語があり、その名前も宝石だったということも名付けの由来となっています。

Rubyでできること

RubyはWEBサービスやアプリケーション開発に向いている言語です。簡単なSNSから本格的なショッピングサイトまで、作りたいWEBサービスを形にすることができます。しかし、実際にサービスを開発するにはフレームワークと呼ばれる開発ソフトの使い方を学ぶ必要があります。代表的なフレームワークとして「Ruby on Rails」が挙げられますが、その他にも「SINATRA」「Padrino」「Hanami」など様々なフレームワークが存在しています。自分の作りたいサービスに合わせた学習をすると良いでしょう。

実際にRubyで作られたサービス

実際にRubyで開発されたWEBサービスやアプリケーションをご紹介します。・クックパッド・Wantedly・食べログ・GitHub・価格.com・クラウドワークス・Freee・Gunosy(グノシー)・Metaps・スマホ家庭教師のmanabo・Kickstarter・Hulu・Airbnb・Twitter・Scribd・Instacart日本でも海外でも有名なサービスがRubyで開発されています。中にはRubyだけではなく、システム分野別に他の言語も合わせて開発されていますが、Rubyの可能性が大きいことは感じられるでしょう。上記の例に加えて、Rubyは汎用性が高く、その他にもスマホアプリやチャットボット、人工知能の開発まで手掛けることができます。

Rubyの設定方法(Macの場合)

MacにはRubyが標準インストールされている

Macを所持している方は、すでにRubyを使える状態にあります。アプリケーションを開発し、運営するためにはRubyのバージョンをしっかり管理しなければならないので、バージョン管理ソフトをインストールしたり、設定したりする必要があります。しかし、「まずはRubyを使ってコードを書きたい」といった入門者の方ならすでにインストールされているRubyを使用すると良いでしょう。

まずは「Hello,World」を出現させる

必要なソフト

必要なソフトは「ターミナル」と「テキストエディタ」の2つだけです。ターミナル は標準搭載されているので、まずは実際にコードを書くためのテキストエディタを用意してください。一般的には「Atom」か「Visual Studio Code」が良いでしょう。

テキストエディタにコードを書く

テキストエディタをインストールしたら、実際にコードを書きます。puts “”Hello,World!””この一行を書いて保存しましょう。putsというのは、””””←このダブルクォーテーションで囲った中身を表示させる、というメソッド (命令)になっています。これがプログラミングの第一歩になります。ただし、保存形式に注意してください。「index.rb」という風に最後に「.rb」をつけます。これがRubyで書いたファイルに変換されます。また、indexの部分は好きなタイトルで構いません。保存する場所は、まずはDesktopで良いでしょう。

ターミナルで実行する

次はターミナルを開いてください。まずは「あなたのユーザー名$」という場所にいるか確認しましょう。ここから少しコマンドを打ちます。簡単に説明すると「Desktopに移動してindex.rbファイルを実行する」といったコマンドです。① cd Desktop→「cd」は移動するというコマンドです。成功したら「Desktop あなたのユーザー名$」のように表示されています。② ruby index.rb→「ruby」はrubyファイルの実行というコマンドです。

成功したらその次の行に「Hello,World!」と表示されているはずです。※rubyの後には半角スペースが入ります。全角スペースはエラーとなるので注意しましょう。※indexはファイル名を変えていた場合はそのファイル名に変更してください。これで、Rubyで書いたプログラムの実行に成功です。

SE
Rubyなら初心者でも習得しやすいプログラミング言語ですね。

PM
そうですね。実践しながら習得を目指しましょう!

Rubyについて理解を深めよう

Rubyはさまざまな開発に役立つだけでなく、初心者でも学びやすいという特徴を持っています。はじめて使ってみたいという人でも学びやすい言語です。ぜひこの記事を参考に、Rubyの使い方を覚えてみてはいかがでしょうか。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)