アカウント名:
パスワード:
別に擁護するほどの義理も思い入れもないんだけど。
僕がJavaで駄目だと思うところはまず実行速度です。 JITの技術がありますが本質的な解決策では無いと思います。 しかもテキスト処理なんかはJITを使ってもAwkよりもPerlよりも遅い。
必要な時にプロセスとして起動するような用途には当然向かないですよ? PerlはともかくAWKを並べてるところを見ると、「テキスト処理」ってUNIXのフィルタプログラム的な使い方を想定して
awkやperlに比べて不利な点は、 「実行速度が遅い」ことではなく、「起動が遅い」ことではないでしょうか。
一回走り出したら、十分な速度を持っているよーな気が。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
Javaの必要性 (スコア:1)
僕はいまいちJavaの良さが分かりません。
誰かJavaのすばらしさを語ってもらえないでしょうか。
Re:Javaの必要性 (スコア:1)
Java Applet のことだったり、 JavaScript のことだったりする
ことがあるので、いっかい問い詰めてみたほうがいいです。
Re:Javaの必要性 (スコア:2, 参考になる)
JITの技術がありますが本質的な解決策では無いと思います。
しかもテキスト処理なんかはJITを使ってもAwkよりもPerlよりも遅い。
次に移植性です。
Write Once Run Anywareとか言っていますがはっきり言って実現されて無いと思います。
移植性 + 速度
で考えるとCの方が上だと思っています。
GCを利点として挙げる人がいますが、それも僕はどうかと思っています。
GCがあるためにむちゃくちゃなプログラムでもある程度動いてしまいます。
1時間ぐらいだったら動くけど長時間動かしているとVMが落ちることがありますし、その時のバ
Re:Javaの必要性 (スコア:2, 興味深い)
別に擁護するほどの義理も思い入れもないんだけど。
必要な時にプロセスとして起動するような用途には当然向かないですよ? PerlはともかくAWKを並べてるところを見ると、「テキスト処理」ってUNIXのフィルタプログラム的な使い方を想定して
Re:Javaの必要性 (スコア:1)
AWK、Perlを例に挙げたのはUNIXのフィルタプログラム的な使い方を想定してるわけではなく、とにかく遅いって言いたかっただけです。
僕自身AwkやPerlよりも遅いと知ったときに非常に驚いたもので。
「ある特定の用途にはJavaが非常に有用だ」
というのは分かります。
ただ、言語として総合的な観点から見た場合に魅力的な言語だと僕は思えません。
しかし、Java信者ってすごく熱烈的ですよね?
いったいどこに魅力を感じるのかというのが僕にとって興味あることなのです。
Re:Javaの必要性 (スコア:1)
"あーんなに遅いのに、みんな平気で使っているんだろうか?"
って Java を使うときはいつも思っていたのですが、
やっぱしそのように思っている同士がいたということで。
Java の情報って、"けっこう速いですよ、いいですよ"
って思わせる情報ばっかりが見つかって,
"Java ダメじゃん.." って情報はあまり書いている人が
多くないんですよね。
欠点を述べるのって、結構重要だと思うのですよ。
だって、どのような時に Java を使えばいいかという
判断材料としては非常に有効ですから。
いろいろ勉強になりました。
Re:Javaの必要性 (スコア:1)
もちろん実行系の制約ってのは、Javaの思想に起因してるのだろうけど、それは言語としての評価とはちょっと違うように思います。
確かに、環境(言語と実行系を両方含めた話)としてのJavaは、あれこれ不満が多いですけど、ね。
Re:Javaの必要性 (スコア:0)
少なくともjavaって「公開してまだ1ヶ月」とかいうレベルじゃないんだし、現状での実行系まで含めて議論を進めても構わないと思うけどな。
Re:Javaの必要性 (スコア:1)
もちろん「言語」という言葉をそんな厳密に使ってるわけじゃないのはわかってるのです。けど、つい血が騒ぐというかなんというか。
Re:Javaの必要性 (スコア:1)
awkやperlに比べて不利な点は、 「実行速度が遅い」ことではなく、「起動が遅い」ことではないでしょうか。
一回走り出したら、十分な速度を持っているよーな気が。
# emacsみたいにdumpして(比較的)高速に起動するということはできないのだろうか…。Re:Javaの必要性 (スコア:1)
instance(ってのかな)をメモリからファイルに永続化しといて
それを後で読みなおして再現する、って奴ですよね。
smalltalkだとImageFileとか言うんだっけか?
javaでは、class fileを束ねる(束ねるだけだ)ためにはjarフォーマットが有りますが、
そういやinstanceを束ねる標準フォーマットってのは作られなかったですよね。
objectを直列化する仕組とかは有るけど、それの最初の応用例(^^;としての
永続標準フォーマットってのは…
たしかに、勿体ない話です。
Re:Javaの必要性 (スコア:1)
どういうときにどう遅いか?という話しかたをしないと、
それこそ不毛な議論になっちゃうのでわ(^^;。
さすがにどんな状況でも必ず遅いというわけではないのですから、
「とにかく」では大雑把すぎです。
ま、今ここでベンチマークやって具体的な結論を出せ、とまでは迫りませんが、
今じゃなく実際になんらかの選択をする場面になったときには、
「とにかく」じゃなくてもう少し情報量のある思考を、してください。
そのほうが世のためですから。
#前述のように、状況を「区別せず差別する」のは不味いわけです(^^;
#どういう状況なのか?を、しっかりと"見る"必要は、ありますね。
>「ある特定の用途にはJavaが非常に有用だ」
>というのは分かります。
>ただ、言語として総合的な観点から見た場合に魅力的な言語だと僕は思えません。
総合といっても、(あなたが意図するところの)総合とは何処から何処までを指すのか?ってのが問題でしょうね。
たとえばunixフィルタ的に使う限り常(^^;に遅いであろうわけですが、
それは総合というよりもunixという特殊な(^^;状況における特殊解であるわけです。
そういう特殊な状況では、不運にも(^^;javaはperlより遅くなってしまう、と。
ならば、そういう状況に出逢ったとき、じゃあjavaをやめる、という選択肢と同じくらいに、
じゃあunixをやめる、という選択肢だって、ひょっとしたら考慮に値するかも知れない。
普遍であるかのように思っていた状況が、実は結構ローカルなものである、ってことは、よくあるようです。
どうか、お見知り置きを。
それはそれとして、俺も、javaにゃ納得できない面が結構あります(^^;;;;