Java と C

Javaは遅い、Cは早いという話を良く聞くが
それはWebは遅い、クラサバは早い
と似たようなものの様に思える。


JavaVM用の中間言語バイトコード)を吐くことで実行環境を選ばない変わりに
各実行環境で中間言語をネイティブコードに変換しながら実行するので遅いと言われる。
逆にCはプラットフォーム専用のネイティブコードを出力するので変換の必要が無く早い。


同様に
WebはWebサーバがSolarisであろうと、Windowsであろうと
基本的には環境を選ばない。
しかしながら、
Webサーバのセション上に必要なデータを保持している事を前提とすると
ブラウザから必要な情報を取得するとき、
必ずWebサーバへリクエストすることが必要になり
通信のオーバヘッドが発生する。


逆にクラサバはクライアントアプリ上で必要なデータを保持している事を前提とすると
クライアントが必要な情報を取得するときは直接取得する事ができる。


決してWebアプリケーションが遅いとは言わないが
ブラウザ一つあれば誰でもアクセス出来る事を前提にすると
それなりに性能に影響が出てしまうのは仕方がないことか。
何かを取れば何かを失う・・・とは大げさだが
Ajaxに代表されるように、何かしらの知恵と工夫をすれば良いんだと思う。
性能を上げるにはスキルとアイデアが必要なんだろうけど
何かしらの改善方法は必ずあるはずだよね。