プログラミング言語とは、あくまで道具に過ぎません。あなたや私が抱えている問題を解決するための道具なのです。

私達の抱えている問題を解決するといっても、自分の心や体、人生についての悩みなど、数値で表すことができない問題は、残念ながら、プログラミング言語で解決することはできません。エキスパートシステムや人工知能でもって、相談を入力してもらい、通り一遍のアドバイスをすることができるかもしれませんが、解決するまでには至らないでしょう。やはり、大量に存在する数値の合計値や平均値を求めたいとか、加減乗除したいとか、ある駅に行くために、最も早くて安い運賃のルートを捜したいとか、数値で表せる問題しか解決できないのです。

勿論、楽しいゲームや、美しいコンピュータグラフィックスのように、プレイする人、見る人を楽しませるという、境界的なプログラムも存在しますが、それらも、実体は数値処理に過ぎません。不確定な要素は何もないのです。強いて不確定なものを捜すとすれば、乱数ぐらいのものでしょうが、それとて、コンピュータ側から見れば、数値処理のひとつに過ぎません。

プログラミング言語が道具であるならば、客観的な評価でもって、解決すべき問題の性質に最もマッチしたものを選ぶべきであり、そこには本来、プログラマの趣味趣向が介在してはならないはずです。でも、そう簡単に、すぱっと0か1かで割り切れないのがアナログの代表、人間なのですね。

ソースコードを見ただけで生理的に受け付けず、係わり合いになりたくない言語もあるでしょうし、逆に、ソースコードをプリントアウトして、一緒に寝たいほどお気に入りの言語もあるでしょう。ちょっと気持ち悪いですが。

「なぜ、その言語が好きなのですか?または名前を聞きたくもないほど嫌いなのですか?」と質問を投げかけてみたとしましょう。技術者の方であれば、その理由を論理的に説明しようと努力してくれるかもしれません。

待ってましたとばかりに、自分の好きな言語がいかにすばらしいかをとうとうと語ってくれるかもしれない。プログラマという人種は、普段黙って仕事をすることが多いので、自分の主義主張を述べてよいといわれると、異常に張り切ってしまうのです。

プログラミングという作業は極めて論理的なものなので、技術者も論理的な考え方に慣れています。しかし、彼らの論理のよりどころが、影響力の強い他の技術者の一方的な論理の受け売りであったり、勘違いであったり、多分に主観的であったりして、真に論理的ではないのです。職場において、大変尊敬している先輩が、『○○言語は、あまりよろしくないと思う』と評価したのを聞いて、未来永劫その言語のことが嫌いになる場合もあります。その言語を一度も使用したことがなかったとしてもです。要するに、煎じ詰めれば『はっきりとは説明できないけれど、好きなものは好き、嫌いなものは嫌いなんだからそれでよいではないか』という回答しか帰ってこないのです。

全世界の全ての技術者がお気に入りの言語というものは、残念ながら存在しません。なぜなら、どのような用途にも使えて、習得しやすく、且つ、人間の持つ好き嫌いという多分に感覚的なところをクリアする言語など存在しようがないからです。例えば、Javaのように、ミクロはハードウェアチップの組み込み処理から、マクロは企業のエンタープライズ開発までをカバーしてやるぞ、という姿勢を見せたとたん、『出しゃばるんじゃねえよ!』と、そのことを理由に嫌われてしまったりするのです。

しかし、10人のうち 3人ぐらいの割合で、技術者に好かれているプログラミング言語であれば存在するのです。率が低いではないかと思われるでしょうが、現実的に、これでも驚異的に高い割合ではないでしょうか。そして一度でもその言語を使った人ならば、もっと高い割合、例えば 7割の人が、「なかなか使いやすくて良い言語だな」と感じるのです。引き続き使い続けるかどうかは別としてなのですが。また、わが国日本においては、その割合がさらに高くなります。

本当にそのようなプログラミング言語など実在するのでしょうか。

その言語とは、『Ruby(ルビー)』です。

Rubyは、「まつもとゆきひろ」氏によって開発された、純粋なオブジェクト指向スクリプト言語です。デビューは1995年ですから、12歳ということになります。現在もまつもと氏が中心になって、メンテナンスが続けられています。同じオブジェクト指向スクリプト言語のライバルである「Python(パイソン)」の信奉者からは嫌われているようですが、誕生以後、良好な評価を得ています。

最近、Rubyで実装された、 Webアプリケーションフレームワーク「Ruby On Rails(ルビーオンレイルズ)」の登場により、一気に注目を集めるようになりました。

Rubyの評価が良好な理由は、例えば、完全なフリーウェアとして開発メンテナンスされており、そこには企業の論理が介在することによる胡散臭さがないであるとか、日本製なので、わが国では特にドキュメント類を初めとするノウハウを手に入れやすいなどが上げられるでしょう。

では、実際にRubyを使用した場合どうでしょうか?

「Rubyは、一度使えば、たちまち気に入り、もう手放せなくなるほど素敵なプログラミング言語です」とは、残念ながら断言できませんが、Rubyを実際に使用した人は、Rubyに対して、概ね良い感触を抱くようです。

なぜでしょうか。

それは、Rubyの書式が大変美しいからです。えらく抽象的で申し訳ないのですが、それ以外に表現のしようがありません。

Rubyの書式の美しさをこう分析する人たちがいます。

「Rubyは、プログラミングしていてストレスを感じさせない。こう書けばいいんだろうと思った通りの文法であるし、こう書けばこう動いてくれるんだろうなという予測どおりに動いてくれる」

これは、逆に「こう書けばこうなるはずなのに、なんで、なんで、この言語はそうならないのだ?!この唐変木!」と思わせるプログラミング言語がいかに多いのかという裏返しです。しかし、仕事であれば、適当に折り合いをつけて、騙し騙し付き合っていかねばなりません。これが、技術者にとっては馬鹿にならないストレスになるのです。

趣味でプログラミングをする人たちがいます。その中には、仕事でもプログラミングをしている人が大きな割合を占めるでしょう。「仕事でプログラムを作って、まだ趣味でプログラムを作るのか?飽きないのか?」といわれても、彼らはプログラミングが好きなのだから仕方ありません。

仕事である場合、使う言語を自分の自由意志で選択することはできません。C#を使って開発を行っている現場へ赴いて、「私はC#が嫌いなので、Javaを使います。誰にも文句は言わせない」と突っぱねるわけにはいかないのです。「じゃあ君はいらないよ」と、すぐお払い箱になってしまうでしょう。

しかし、趣味でプログラムを作る場合は、自分の意思でプログラミング言語を選択することができます。当然、目的によって選択の余地がない時もありますが、普通、複数の言語の中から選択することができます。例えば WindowsOS上で動作する、(ウインドウを持った)アプリケーションを作りたい場合は、C言語で作成することも可能ですし、C++言語とMFCの組み合わせでもよいし、バージョン6.0以前のVisual Basicでも良いし、Javaでも良いし、Delphiでもよいし、.NET Framework上でC#やVB.NETを使ってもかまいません。また、フリーのプログラミング言語であるHSPや、なでしこという選択肢もあります。

また、CGIを使用して動的なWebサイトを作ろうと思えば、Windowsアプリケーションを作成する場合よりはるかに多種多様な選択肢がありますし、自分の持っているデータをちょこちょこっと加工したいな。という程度の目的になってくると、その選択肢は軽く 3桁を超えてしまうでしょう。勿論、それだけの言語、またはプログラム開発環境を知っていると仮定した場合ですが。

もし貴方の目的が、趣味でWebサイトを作ってみるであるとか、手持ちのデータを簡単に処理したいというようなものであれば、私は「では一度、Rubyをお使いになってみられてはいかがでしょう?」と、是非お勧めしたいと思います。
Rubyを使ってプログラムを作成している時間は、きっと貴方にとって楽しい時間になるだろうと思います。

私がRubyと出会ったのは、今から約 5年ほど前になります。その頃からずっと、「この素敵な言語を他の人にも紹介してみたいものだ」と思っていたのです。

しかし、普通のプログラミング言語本のような形態では面白くないというか、素敵な言語Rubyに対して失礼ではないかと考えていました。

「では、素敵(かどうかはわからないれども)な物語と共に紹介するというのはどうだろうか?」そう考えて書こうと思ったのが、この「(Ruby・イン・ワンダーランド)」です。

ヒロインの、実装寺真紅(じっそうじまべに・通称ルビイ・中学一年生・女子)は、父親の出張中に、原因不明の病気にかかってしまった母親(父親の再婚相手。実の母親ではない)を救う伝説のオーブ(宝玉)を手に入れるため、不思議な世界『ノルゴリズム』に迷い込みます。

冒険中、ルビイの身には、様々な難問(変なものばかり)が襲いかかりますが、プログラマの父親と協力して、アルゴリズムの力でそれらを解決していきます。

貴方も、ヒロインのルビイと共に、Rubyの世界に飛び込んでみてください。
最終更新:2008年11月27日 23:35