なんだか久々にRPGツクールXPを起動。
気になる機能がいくつかあるので、さっそくヘルプの言語解説のあたりを見てみると。
イテレータが実に面白そうな雰囲気だったので試してみました。
[1,2,3].each { |i| p i }
exit
これで、1,2,3という数字を表示するメッセージボックスが3回出てきます。
これに相当するものをC#で書くとこんな感じかな。(結果はコンソールに出るので、そこは動作が違いますが)
foreach( int i in new int [] { 1,2,3 } )
{
Console.WriteLine(i);
}
更に悪のりしてVB.NETで書くとこんな感じ。
For Each i As Integer In New Integer() {1, 2, 3}
Console.WriteLine(i)
Next
この3つを見比べて思うこと。
昔のプログラム言語と比較すれば、C#やVB.NETはよく進歩していると思います。この簡潔さでこれが書けているのは、感動的とすら言えます。
しかし、その感動よりも遙かに簡潔に書き切っているのがRubyですね。C#やVB.NETで3行に分けて書いたものが、実質"[1,2,3].each { |i| p i }"だけ。
もちろん、単純に短ければ良いという訳ではありませんが、C#やVB.NETはまだ完成形ではなく、練り込む余地があると思って良いでしょう。
それにしても、Rubyは見れば見るほどプログラム言語ミーハーを誘惑する魅力がありますね。