C/C++ or Ruby ?

in

近頃はRubyやPythonなんかのスクリプト言語の人気が高くて、人気の秘密が今ひとつ実感できなかったのですが今回のような経験をしてみるとその一端が見えたような気がします。それは、ライブラリの豊富さにあるのだと思います?例えば、今回のように「CSVファイルを読んでMySQLのデータベースを参照し結果を出力する」というたったこれだけの処理をC/C++で書くのに約一日半かかっています。前日に書いたRubyでは約二時間。この差はRubyにはMySQL操作のためのライブラリがあらかじめ用意されていたところにあります。C/C++にはそういうライブラリはありませんから(探せばあるのかも知れませんが)そこのところは自分でなんとかするしかないですよね。そうすると、それだけで半日はたっぷり時間を取られるわけでここらあたりのとっかかりの早さこそが人気の秘密なのじゃないかな?と思います。

後は、make。これはインタプリタのRubyと比較してもまったく意味がないのですがこれは面倒。ヘタすりゃmakefileを作成するだけで数時間をロスしますからササッと片づけたかったらやっぱりRubyってことになりますね。もちろん、ここの部分が「計測無用」か「19分」の差になっているのですから意味はあるのですが、近頃のマシンスペックを考えれば今回のようなアホなケース(プログラム云々ではなくもっと別のソリューションがあるだろうが!という怒りデス。まあ、お客様は自らの業務シーケンスが変わることは絶対に許しませんから言うだけムダなんですけど)は滅多にあることではないので日常的にはRubyなどのスクリプト言語を使うほうが総合的に早く結果を出せる気がします。

結局、どの言語を使うかはケースバイケースで臨機応変にやるのがベストだと思うのですが、仕事の場合それができないこともあるでしょうから職業プログラマとしてはできるだけ扱える言語の幅を広げておくのが良いかと思います。逆に「オレはすべてXXXでコードを書く!」という原理主義的な態度も一つのプログラミング言語を極めていくという意味で否定はできませんから結論は皆さんお好きにどうぞというところに落ち着いちゃいますね。
もちろん、好き嫌いは別問題です。僕?僕は、「美しいコードを書けるからRubyを選んだ」に一票を投じます。

この記事のトラックバックURL:

http://hippos-lab.com/blog/trackback/95

返信