「Ruby はスクリプト言語だけど、遅くないですか」という質問にどう答えるか

2008/11/24

プログラミング言語 Ruby は、スクリプト言語に分類されます。
実は、スクリプト言語という用語の厳密な定義はありません。
型宣言がないとか、インタプリタ方式で実行されるとか、幾つかの特徴を捉えた大雑把な用語です。
型宣言を持ち、コンパイルできる「本物のプログラミング言語」と比較して、簡易なプログラミング言語という、やや侮蔑的なニュアンスもあります。

スクリプト言語で書かれたプログラムの実行速度が、コンパイルされたプログラムよりも遅いのは事実です。

ですから、「Ruby はスクリプト言語だけど、遅くないですか」という質問への短い答えは、「はい、遅いです」となります。

しかし、あなたがビジネス上の問題を解決する手段としてプログラミング言語を選択したいのであれば、費用と効果を踏まえた更なる問いかけが必要になります。

その遅さは許容範囲内か、ということです。

コンピュータのハードウェアは、猛烈なスピードで性能が向上する一方で、価格が下落しています。
今 Web アプリケーションが動作しているほとんどのサーバ機器は、能力を持て余しています。
Ruby を採用するということは、コンピュータに余分な負荷をかける代わりにプログラマが楽をする、ということですが、多くのコンピュータには余裕があるのです。
あなたが作りたいものが普通の Web アプリケーションであれば、Ruby on Rails によって相当に高いパフォーマンスを出すことができます。
もちろん、Web アプリケーションへの負荷が急速に増大する場合は、Ruby の採用がハードウェア関連のコストを押し上げるかもしれません。
しかし、その可能性や度合いは減ってきたし、これからも減っていくのです。

本当に大切なことは何でしょうか。

それは、あなたのビジネスが成功することです。
そのために考慮すべき要素は、システムのパフォーマンス以外にもいろいろとあります。
スクリプト言語の「遅さ」は学術的な意味はあっても、ビジネス的にはほとんど無視できる場合が多いのです。
--
黒田努