4月のある雨の日,僕はふらっと散歩をしたくなった。雨の日に散歩なんてバカげてるだって? そうかもしれない。でも,僕はそんなことは気にならなかった。雨の中,あるプログラミング言語への思いを確認したかったからだ。たとえ靴とズボンの裾(すそ)がずぶ濡れになったとしても。

僕の愛するプログラミング言語Ruby

 これから,僕の愛するプログラミング言語,Rubyについて語ろうと思う。Rubyは近年とても注目を集めている言語だ。その発端となったのは「Ruby on Rails(RoR)」という,Webアプリケーション用のフレームワークだろう。

 プログラミングに興味がある人ならば,一度くらいは聞いたことがあるかもしれない。RoRはWeb開発において,非常に高い生産性を可能にしたため,急速に広まった。RoRの登場は,あまり知名度が高くなかったRubyの存在を世に知らしめたのだ。

 「Rubyは生産性が高い」「Rubyのコードは綺麗(きれい)だ」「Rubyは柔軟だ」という部分に世界中が熱中した。この連載を通じて,世界が熱中したRubyの魅力を伝えられるなら僕はとてもうれしい。

 僕は,Ruby初心者に向けて語ろうと思う。文法などを基礎から説明していくつもりだ。でも,それだけでは面白くない。だから僕は毎回なんらかのツールを作成しながら,Rubyの魅力について解説しようと考えている。

 この連載で作成するツールたちは,僕の大学以来の友人Kに頼まれたものだ。記念すべき第1回に作るツールはなんと,「ラブレター編集ツール」になる。これだけでも,友人Kの人柄が透けて見える。

最初にRubyの基礎を押さえよう

 連載の初回なので,以下に挙げるRubyの基礎を押さえておこう。

  • Rubyの概要
  • Rubyの基本文法(制御構文など)
  • ファイルの基本的な操作

 まず,Rubyがどんな言語なのか,ざっと解説する。続いて,基本的な文法を説明してから,ラブレター編集ツールの作成に取り掛かろう。ファイルの基本操作はツールの作成時に説明する。

Rubyの概要

 Rubyは,オブジェクト指向のスクリプト言語と呼ばれている。ほかのオブジェクト指向言語では,JavaやC#などが有名だ。スクリプト言語ならPerlやJavaScriptが広く知られている。

 簡単に言えば,Rubyはオブジェクト指向の考え方を取り入れたスクリプト言語だ。オブジェクト指向と聞いて,身構えることはない。その概念が必要なときにゆっくり説明するので,安心してほしい。ここで表1を見ていただきたい。Rubyの特徴を簡単に知るために,Javaと比較したものだ。

表1●RubyとJavaの比較
[画像のクリックで拡大表示]
表1●RubyとJavaの比較

 Javaは,オブジェクト指向言語という点ではRubyと同じだが,異なる側面も多い。確かに両言語ともオブジェクト指向をサポートするが,その具体的な内容はかなり違う。JavaとRubyのオブジェクト指向は,「サメ」と「イルカ」くらいに違うのだ。

 もちろん表中にわからない単語があっても,今は無視して構わない。それらは連載を通じて説明していこうと思う。