いきなりですが,Ruby と他の言語を比較してみましょう. オブジェクト指向という観点からの比較や,スクリプト言語という観点からの比較が 考えられますが,そういうのは他の方にお任せするとして, ここでは,パスワードバトラーによる比較を してみたいと思います.
パスワードバトラーとは,バーコードバトラーみたいなもので, こちらの Web サイトにあります. このサイトで,私は Ruby や Perl などに関係する単語を入力して,遊んだ・・・ のではなくて,言語の比較を行いました.
パスワードバトラーによれば
- 「るびい」は「妖怪」(3勝97負)
- 「ぱある」は「魔術師」(勝敗の情報を無くしました)
- 「ぱいそん」は「魔術師」(5勝95負)
- 「じゃば」は「弓士」(3勝97負)
- 「えっふぇる」は「弓士」(6勝94負)
- 「すもおるとおく」は「魔術師」(37勝63負)
という結果で,「ぱある」が「魔術師」というのはいかにもという感じです. 「るびい」だけが「妖怪」というちょっと悲しい結果になりました. 「すもおるとおく」だけが 90位 に入りました. さすが,歴史のあるオブジェクト指向言語は一味違うといったところです.
これらの言語を使っている人はどうでしょうか?
- 「るびいはっかあ」は「魔法戦士」(9勝91負)
- 「るびいすと」は「魔術師」(0勝100負)
- 「ぱあるはっかあ」は「剣士」(10勝90負)
- 「すもおるとおかあ」は「剣士」(2勝98負)
- 「じゃすとあなざるびいはっかあ」は「デーモン」(4勝96負)
- 「じゃすとあなざぱあるはっかあ」は「妖怪」(5勝95負)
という結果です. 意外にも,「ぱあるはっかあ」より「るびいはっかあ」の方が「魔力」は高かったです. それにしても「じゃすとあなざ」というのは良いイメージではないんでしょうかねえ.
最後は,解説本の比較
- 「プログラミングPerl」は「デーモン」(48勝52負)
- 「プログラミングRuby」は「妖怪」(4勝96負)
「プログラミングRuby」という本は,1999年7月5日現在では存在しません. いわゆる,Ruby 本のタイトルはわからなかったので仮に「プログラミングRuby」 としました.
「プログラミングPerl」は,なんと49位に入りました. この本の人気・実力の高さが伺えます. 「プログラミングRuby」は100位以内に入りませんでした. (タイトルが本当に「プログラミングRuby」だったらどうしよう.)
以上です. Ruby は全体に対戦成績が悪く, Perl や他の言語にはまだ負けているという ちょっと残念な結果になったように思います.
これは,私が知人に Ruby の win32ole を紹介したときに 知人が発した言葉です. 実は,この知人は,Ruby が動くのを実際に見たのもこのときが初めてでした. 私も Windows 98 上で Ruby が動くのをこのとき初めて見ました.
話を元に戻します. このような質問を受けた私は, ここで彼を Ruby ユーザーにすべく説得を試みたのです.
ほら.たとえば,こうやって Ruby から MS-Word を起動できるでしょ. (彼のPCには,Excel が入ってなくて,意味はないけどインパクトがある あのグラフが回るデモは実行できなかったのです.) マクロ機能のない,Internet Explorer だって Ruby から動かすことができるんだよ.
「う〜ん.でもやっぱり何に使えるんですか?」
いや.だから.それは.ほら.いろいろと・・・.
実際に,win32ole を使ったことがない私は ここで返す言葉をなくしました. やはり使ったことがない人間がいくら説得しても効果はありません.
でも私も何に使えばいいんだろう.> win32oleわかったことは,私は絶対,営業には向いてないということと デモとかプレゼンテーションの能力が全然ないということです.
そうそう.この知人は,『10日でマスターする Ruby』とか, 『おじさんにもわかる Ruby』とか, そういう類の解説書が欲しいと言ってました.
ちょっと会社の人から1本プログラムを作ってくれないかと頼まれました. 何本か作る必要があるそうなのですが, 最初の1本を作って欲しいそうです. 私が作ったのをベースにして,他のプログラムを作るつもりだとか.
説明を聞くと,Ruby で作れば簡単だと見当がついたので適当にプログラミング. Ruby はまったく知らない人なのでかなりに細かくコメントを入れて2時間足らずで終了. クラスも2つほど適当に作りました.
できあがったものを動かしてみせた後,Ruby のソースの説明. 相手は,Ruby とはこのときが初対面です. 適当に処理の流れだけ15分ほど説明しました. クラスの説明も,細かい文法も一切説明せず.^^; オブジェクト指向だの何だのと講釈しても多分混乱するだけだと思ったのですべて省略.
「後は自分で真似してやってみる」と相手は言ったのでそのままほっておきました. (リファレンスマニュアルは, 社内の Web サーバーにアクセスすれば見ることができたのですが, 見てもすぐにはわからないだろうと思い,教えませんでした.^^; )
二つほど質問を受けましたが,それ以外は自力で解決したようです.
「すごい便利だねえ.C で書くよりよっぽど楽だね. Ruby で書くと100行程度で済んでしまうものなあ. メモリー管理とか気にしなくていいしねえ.」
結構インパクトがあったようです. もっともこの人は,Perl とか Python とか AWK とかは知らないからなんですが. (C もそれほど詳しくないです.)
Ruby を紹介して相手にかなり良い印象をもってもらえた最初の経験です.
・・・しかし,マニュアルなしでろくに教えなくても真似だけでできてしまうのか. 恐るべし.Ruby.