アカウント名:
パスワード:
一般論として型がある方が実行効率に優れると思ってるんですが、いまどきのリソース潤沢な環境だとんなの論点にはならないんですかねえ。コーディング上の理由だけじゃなくてさ。
んなことはないと思う。
Javaの高いパフォーマンスを支えてるのが静的型システムで、サーバーサイドでパフォーマンスが欲しい分野だとJavaがデファクトスタンダードになる理由の一つだ。
でも型システムの有効性も理解できない程度の人が、静的型システムとVMのパフォーマンスとの関係など理解できるはずも無く、議論に登ることも無いだけでは。
いや、Javaが選ばれる理由は型があるかないかよりもより優れたVMとGCにある
JVMのいくつもの選択肢があるVMがスケール設計する際にすごく重要だ。最近だとnode.jsでjavascript(ある意味で型がない)の実装が増えてきているけどこいつのGCやVMは何世代も前のJavaだよ。
もちろんperlとかに乗っているJITが優れているけどまだまだJava(JVM)には及ばない型があることによる恩恵としてのVMと考えるとより優れたVMが搭載されていればぶっちゃけなんでもいい。
先に出したnode.jsだってGCでstop the worldが起こるけどそれ以上にnon blockingで高いスループットを出しているからevenだよ。(下手なチューニングが要らない)
ということで、Javaを出してきたからにはVM設計があるんだろうなと。もしそうでないならデファクトはC++になってるよ。とっくに。
クライアントサイドJavaのセキュリティホールってモダンブラウザのJavaScriptよりヤバゲな感じで、そんなVMが優れたVMだとは思えないなぁ・・・っていうかnode.jsはV8 JavaScriptだからJITや最適化能力は普通に現代的な実装だし何世代も前のJava引き合いに出すほどかね?
その上、Oracleだから今後のサーバサイド向けのセキュリティアップデートも(有料化されて隠蔽される的な意味で)不安・・・はさすがにFUDか。
最近のJVMのセキュリティアナウンスは酷いけど、それにつられて視野が狭なってませんか?
ソースが型を持つのと、コンパイルされたオブジェクトが型を持つのは同義の必要性は無いので、効率性は別の話だと思うけどな。まあ、最近のコンパイラの出来が、どこまで進んでるかは知らんが。(結構、昔のビルド後のコードの最適化は色々面白い省略してたのは興味深く見ましたね。ソースの型なんて関係ない、みたいな生成するのもたまにあって。ま、宣言後に使われるのがオートボクシングした先だけなら、初めから元の型で作るのは時間の無駄だという判断なんだろう、とか)
V8はそこらの静的型付け言語より速いですけどね。
V8の正規表現は速いです><
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
実行効率 (スコア:2)
一般論として型がある方が実行効率に優れると思ってるんですが、いまどきのリソース潤沢な環境だとんなの論点にはならないんですかねえ。
コーディング上の理由だけじゃなくてさ。
Re:実行効率 (スコア:1)
んなことはないと思う。
Javaの高いパフォーマンスを支えてるのが静的型システムで、サーバーサイドでパフォーマンスが
欲しい分野だとJavaがデファクトスタンダードになる理由の一つだ。
でも型システムの有効性も理解できない程度の人が、静的型システムとVMのパフォーマンスとの
関係など理解できるはずも無く、議論に登ることも無いだけでは。
Re: (スコア:0)
いや、Javaが選ばれる理由は型があるかないかよりも
より優れたVMとGCにある
JVMのいくつもの選択肢があるVMがスケール設計する際にすごく重要だ。
最近だとnode.jsでjavascript(ある意味で型がない)の実装が増えてきているけど
こいつのGCやVMは何世代も前のJavaだよ。
もちろんperlとかに乗っているJITが優れているけどまだまだJava(JVM)には及ばない
型があることによる恩恵としてのVMと考えると
より優れたVMが搭載されていればぶっちゃけなんでもいい。
先に出したnode.jsだってGCでstop the worldが起こるけど
それ以上にnon blockingで高いスループットを出しているからevenだよ。(下手なチューニングが要らない)
ということで、Javaを出してきたからにはVM設計があるんだろうなと。
もしそうでないならデファクトはC++になってるよ。とっくに。
Re: (スコア:0)
クライアントサイドJavaのセキュリティホールってモダンブラウザのJavaScriptよりヤバゲな感じで、そんなVMが優れたVMだとは思えないなぁ・・・
っていうかnode.jsはV8 JavaScriptだからJITや最適化能力は普通に現代的な実装だし何世代も前のJava引き合いに出すほどかね?
その上、Oracleだから今後のサーバサイド向けのセキュリティアップデートも(有料化されて隠蔽される的な意味で)不安・・・はさすがにFUDか。
Re: (スコア:0)
最近のJVMのセキュリティアナウンスは酷いけど、それにつられて視野が狭なってませんか?
Re: (スコア:0)
ソースが型を持つのと、コンパイルされたオブジェクトが型を持つのは同義の必要性は無いので、効率性は別の話だと思うけどな。まあ、最近のコンパイラの出来が、どこまで進んでるかは知らんが。(結構、昔のビルド後のコードの最適化は色々面白い省略してたのは興味深く見ましたね。ソースの型なんて関係ない、みたいな生成するのもたまにあって。ま、宣言後に使われるのがオートボクシングした先だけなら、初めから元の型で作るのは時間の無駄だという判断なんだろう、とか)
Re: (スコア:0)
V8はそこらの静的型付け言語より速いですけどね。
Re: (スコア:0)
V8の正規表現は速いです><