アカウント名:
パスワード:
いくつかのアプライアンスを使っていると、それぞれの管理ツールがJavaで作られていることが多い。そして、それぞれが違う古いバージョンのJREでしか動かない。その影響でアップデートできない専用の管理端末が増えていく。
元凶はJava。なぜJavaで管理ソフトを作ろうと思うんだろう?Javaで作るなら、Javaがアップデートされるたびに管理ソフトもアップデートしろよって思う。
Javaほど言語仕様の定義の厳密さ・実装の準拠性に力を注いだ言語は他にないくらいなんだが、なんでこうなってしまったのか。
Javaの教訓を生かしたのか、.NET Frameworkはメジャーバージョンごとにライタイムが別々にインストールされていて、これは成功しているように見える。
javaで互換性を維持できない人は、他の言語だともっとできないよ。
というか、他の言語の環境だと、互換性問題が発生するのがデフォなので、話題にさえなってないだけじゃね.
筆頭はPHPとかIE6専用ブラウザアプリとか。
IE6専用ブラウザアプリって何なのかしらないけど、PHPやperlみたいな他の言語の場合はバグ修正程度のアップデートごときで互換性が維持できないケースは稀なんだよね。バグそのものの仕様をもとにコードを書いていたならともかく。
Javaの場合はバグ修正のアップデートで動かなくなったりすんだよね。バグ修正個所が多すぎて影響が大きく出てしまうんだろうか。だからアップデートできなくて、古いバージョンが無数に動いてる状況になるんだ。
>IE6専用ブラウザアプリって何なのかしらないけどIE、特にIE6は仕様レベルで他ブラウザと挙動が異なるから。
分かりやすく言えば
if( IE6なら){ IE6用コード;else if( IE7なら){ IE7用コード}...else{ IE以外のブラウザ用コード;}
みたいな書き方をしないと、そもそも動かない。だから「対応ブラウザはIE6です」みたいなのがまかり通る。(Googleみたいな巨大企業でさえも、IE6のサポート打ち切りを言い出すくらいだものな。)
PHPでも、PHP4用コードとPHP5用コードが別だったりするので、バージョンアップ時に苦労して書き直してたんだよ。PHPでは「動かない」ってことが公式アナウンスされてるし、上げた途端にエラーで落ちたりするから、書き直さずにアップデートする技術者がいなかっただけ。Javaとは状況が全く異なる。
「IE6のサポート期間が長かった」みたいなコメもあるけど、あれは下手に修正するとIE6依存アプリが軒並み動かなくなる恐れがあったから、下手に手を出せなかったというのも大きいと思う。本来なら修正すべきIE6の問題が修正されずに長期間遺されていたわけだ。銀行のCOBOLで書かれたレガシーシステムがごとし。
ちげぇよIE6が出た当時はIE6以外はすべて糞だったんだよだれもOSをバージョンアップしないもんだから、確定したり追加された仕様に追従した新バージョンのOSやブラウザに移らなかっただけ
更新されないブラウザが糞になるのである(今ならAndroid 2.3とか)。今はまだいいけど、今後更新されないことが確定してしまったIE11が足を引っ張り続けるのかと考えただけで憂鬱だ。
それ、アプリ側で無駄にバージョンチェックしてるだけのことが多い。そんな極端な非互換性が頻繁にあるなら例示してほしい。
バージョンチェックで止めてるならともかく、訳もわからん様子で動かないからな。
http://lucene.472066.n3.nabble.com/What-is-recommended-version-of-jdk-... [nabble.com]幾らでもあるが
それ全部サーバーサイドで使われる言語じゃん?サーバーサイドで使われるJavaの互換性は、ほとんど問題になってないよ。問題なのは、ユーザーの端末とかクライアントサイドで使われる奴。
サーバーサイドの方は、ちゃんとあったバージョンにすれば済むけど、クライアント側はそうもいかないから問題になる。PHPやPerlだって、クライアントサイドで日常的に使われてたらもっと大問題になってるよ。
そんなに互換性問題になったかなうちの周りじゃ10年前のコードがそのまま動いてたりするんだが
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
ローカルJREまで手を出せるのか (スコア:1)
Javaは滅びてほしい (スコア:0)
いくつかのアプライアンスを使っていると、それぞれの管理ツールがJavaで作られていることが多い。
そして、それぞれが違う古いバージョンのJREでしか動かない。
その影響でアップデートできない専用の管理端末が増えていく。
元凶はJava。
なぜJavaで管理ソフトを作ろうと思うんだろう?
Javaで作るなら、Javaがアップデートされるたびに管理ソフトもアップデートしろよって思う。
互換性維持の難しさよ (スコア:1)
Javaほど言語仕様の定義の厳密さ・実装の準拠性に力を注いだ言語は他にないくらいなんだが、なんでこうなってしまったのか。
Javaの教訓を生かしたのか、.NET Frameworkはメジャーバージョンごとにライタイムが別々にインストールされていて、これは成功しているように見える。
Re: (スコア:0)
javaで互換性を維持できない人は、他の言語だともっとできないよ。
というか、他の言語の環境だと、互換性問題が発生するのがデフォなので、
話題にさえなってないだけじゃね.
筆頭はPHPとかIE6専用ブラウザアプリとか。
Re:互換性維持の難しさよ (スコア:0)
IE6専用ブラウザアプリって何なのかしらないけど、PHPやperlみたいな他の言語の場合はバグ修正程度のアップデートごときで互換性が維持できないケースは稀なんだよね。
バグそのものの仕様をもとにコードを書いていたならともかく。
Javaの場合はバグ修正のアップデートで動かなくなったりすんだよね。
バグ修正個所が多すぎて影響が大きく出てしまうんだろうか。
だからアップデートできなくて、古いバージョンが無数に動いてる状況になるんだ。
Re:互換性維持の難しさよ (スコア:1)
>IE6専用ブラウザアプリって何なのかしらないけど
IE、特にIE6は仕様レベルで他ブラウザと挙動が異なるから。
分かりやすく言えば
if( IE6なら){
IE6用コード;
else if( IE7なら){
IE7用コード
}
...
else{
IE以外のブラウザ用コード;
}
みたいな書き方をしないと、そもそも動かない。だから「対応ブラウザはIE6です」みたいなのがまかり通る。(Googleみたいな巨大企業でさえも、IE6のサポート打ち切りを言い出すくらいだものな。)
PHPでも、PHP4用コードとPHP5用コードが別だったりするので、バージョンアップ時に苦労して書き直してたんだよ。PHPでは「動かない」ってことが公式アナウンスされてるし、上げた途端にエラーで落ちたりするから、書き直さずにアップデートする技術者がいなかっただけ。Javaとは状況が全く異なる。
「IE6のサポート期間が長かった」みたいなコメもあるけど、あれは下手に修正するとIE6依存アプリが軒並み動かなくなる恐れがあったから、下手に手を出せなかったというのも大きいと思う。本来なら修正すべきIE6の問題が修正されずに長期間遺されていたわけだ。銀行のCOBOLで書かれたレガシーシステムがごとし。
Re:互換性維持の難しさよ (スコア:1)
ちげぇよ
IE6が出た当時はIE6以外はすべて糞だったんだよ
だれもOSをバージョンアップしないもんだから、確定したり追加された仕様に追従した新バージョンのOSやブラウザに移らなかっただけ
Re: (スコア:0)
更新されないブラウザが糞になるのである(今ならAndroid 2.3とか)。
今はまだいいけど、今後更新されないことが確定してしまったIE11が足を引っ張り続けるのかと考えただけで憂鬱だ。
Re: (スコア:0)
それ、アプリ側で無駄にバージョンチェックしてるだけのことが多い。
そんな極端な非互換性が頻繁にあるなら例示してほしい。
Re: (スコア:0)
バージョンチェックで止めてるならともかく、訳もわからん様子で動かないからな。
Re: (スコア:0)
http://lucene.472066.n3.nabble.com/What-is-recommended-version-of-jdk-... [nabble.com]
幾らでもあるが
>PHPやperlみたいな (スコア:0)
それ全部サーバーサイドで使われる言語じゃん?
サーバーサイドで使われるJavaの互換性は、ほとんど問題になってないよ。
問題なのは、ユーザーの端末とかクライアントサイドで使われる奴。
サーバーサイドの方は、ちゃんとあったバージョンにすれば済むけど、クライアント側はそうもいかないから問題になる。
PHPやPerlだって、クライアントサイドで日常的に使われてたらもっと大問題になってるよ。
Re: (スコア:0)
そんなに互換性問題になったかな
うちの周りじゃ10年前のコードがそのまま動いてたりするんだが