アカウント名:
パスワード:
いくつかのアプライアンスを使っていると、それぞれの管理ツールがJavaで作られていることが多い。そして、それぞれが違う古いバージョンのJREでしか動かない。その影響でアップデートできない専用の管理端末が増えていく。
元凶はJava。なぜJavaで管理ソフトを作ろうと思うんだろう?Javaで作るなら、Javaがアップデートされるたびに管理ソフトもアップデートしろよって思う。
Javaほど言語仕様の定義の厳密さ・実装の準拠性に力を注いだ言語は他にないくらいなんだが、なんでこうなってしまったのか。
Javaの教訓を生かしたのか、.NET Frameworkはメジャーバージョンごとにライタイムが別々にインストールされていて、これは成功しているように見える。
>運用は現場の担当者任せで、実装や挙動の違いは、具体的には?
そりゃあVMのメモリ消費の違いとかパフォーマンス特製の違いはあるよ。#「WinXPからWin●に上げたら激しく遅くなった」みたいなの。
で、「ロジックは変わったの?」って話。#「1+1=2」だったものが「1+1=3」になったりしたのか?してないのか?#IEやPHPでは、これが日常茶飯事。#Javaでは「同じコードが同じ結果を生じる」が、PHPでは「同じ結果にならない」。
Javaのバージョンアップで一切問題に直面したことがないのは、それはそれで幸せだ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
ローカルJREまで手を出せるのか (スコア:1)
Javaは滅びてほしい (スコア:0)
いくつかのアプライアンスを使っていると、それぞれの管理ツールがJavaで作られていることが多い。
そして、それぞれが違う古いバージョンのJREでしか動かない。
その影響でアップデートできない専用の管理端末が増えていく。
元凶はJava。
なぜJavaで管理ソフトを作ろうと思うんだろう?
Javaで作るなら、Javaがアップデートされるたびに管理ソフトもアップデートしろよって思う。
互換性維持の難しさよ (スコア:1)
Javaほど言語仕様の定義の厳密さ・実装の準拠性に力を注いだ言語は他にないくらいなんだが、なんでこうなってしまったのか。
Javaの教訓を生かしたのか、.NET Frameworkはメジャーバージョンごとにライタイムが別々にインストールされていて、これは成功しているように見える。
Re: (スコア:2, 興味深い)
Java の VM 作ってたので、実経験として言えますが、TCK やドキュメント化などの枠組みは用意してましたけど、Sun の時代から運用は現場の担当者任せで、実装や挙動の違いは、担当者が変わるだけでも、差がでるというレベルでした。
Java は厳密さに注力しているというポーズをとっただけで中身は伴っていませんので、他の一般的な言語より厳密性のレベルは低いくらいです。
Re:互換性維持の難しさよ (スコア:0)
>運用は現場の担当者任せで、実装や挙動の違いは、
具体的には?
そりゃあVMのメモリ消費の違いとかパフォーマンス特製の違いはあるよ。
#「WinXPからWin●に上げたら激しく遅くなった」みたいなの。
で、「ロジックは変わったの?」って話。
#「1+1=2」だったものが「1+1=3」になったりしたのか?してないのか?
#IEやPHPでは、これが日常茶飯事。
#Javaでは「同じコードが同じ結果を生じる」が、PHPでは「同じ結果にならない」。
Re:互換性維持の難しさよ (スコア:1)
TCK の期待値として 1+1 は 2 を求めていたのに、担当者が変わると 3 になる。
今までベリファイエラーとしていたものが、ベリファイエラーにならなくなるとか、その逆とかもね。
仕様やドキュメントが変わったのではなく「担当者が変わる」がトリガー
なので、同じバイトコードのファイルが、JRE のバージョンによって異なる挙動をしたり、今まで動いてたものが、ベリファイに失敗して動かなくなるとかね。
Re: (スコア:0)
Javaのバージョンアップで一切問題に直面したことがないのは、それはそれで幸せだ。