米Oracle、古いJavaをインストールしているユーザーに向けた警告を出すことでFTCと同意 47
ストーリー by hylom
さっさと捨てよう 部門より
さっさと捨てよう 部門より
Javaにはたびたびセキュリティホールが見つかっており、古いバージョンのJavaランタイムは削除することが推奨されている。しかし、Javaのアップデートを行った際、古いバージョンのランタイムが適切に削除されないことがあったという。そのため米連邦取引員会(FTC)とOracleが協議を行い、Oracleがユーザーに対し警告を出すことで合意したそうだ(CNET Japan)。
FTCの発表によると、OracleはTwitterとFacebook上にJavaのセキュリティに関する説明を行う文書へのリンクを掲載するといった方法で、ユーザーに対し問題点を周知させるとのこと。
ユーザーに対し警告を出す (スコア:2)
「警告!あなたのパソコンが危険にさらされています」
みたいな文言が踊るのでしょうか。
誰も本気にしない、狼少年みたいな事態にしかならないような。
Re: (スコア:0)
というかその警告自体がすごく悪質アドウェアっぽい。
ローカルJREまで手を出せるのか (スコア:1)
Re: (スコア:0)
枕木を石にアップグレードしたら列車を走らせられない、
みたいなお話しですか?
# 素っ頓狂で済みません
Re: (スコア:0)
JRのローカル線がどうしたって?
Re:ローカルJREまで手を出せるのか (スコア:2, 参考になる)
JREastですよ。
Re:ローカルJREまで手を出せるのか (スコア:2)
NRE [nre.co.jp]はどこだろうと思ってみたらJRE関連ですね。
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のバージョンアップで一切問題に直面したことがないのは、それはそれで幸せだ。
Re: (スコア:0)
javaで互換性を維持できない人は、他の言語だともっとできないよ。
というか、他の言語の環境だと、互換性問題が発生するのがデフォなので、
話題にさえなってないだけじゃね.
筆頭はPHPとかIE6専用ブラウザアプリとか。
Re: (スコア:0)
Javaのサポート期間はIE6よりずっと短いんですが...
Re: (スコア:0)
IEのサポートポリシーが変わったからこういう問題は減るだろう。
ブラウザからアプリに回帰するかもしれない。
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年前のコードがそのまま動いてたりするんだが
Re: (スコア:0)
政治なんかでも理想主義は他人の足を引っ張るだけの脳内お花畑野郎だ
Javaは死んだ。
Javaはオワコン。
などと言われはじめて久しいが相応の理由があるってことさ
Re: (スコア:0)
Javaは腐ってるんだけど、それでも開発に使われ続ける理由はプログラマー教育でJavaに逃げてるからだろう。
専門学校や大学でJavaしか教えていないところもあるんじゃね?
ユーザ視点で「Javaで開発してくれ」ってパターンはほとんど聞かないね。
一番多いのが開発者の都合。
教育がJavaで行われる理由 (スコア:0)
プログラマー教育がJavaに逃げるのは、代替がないからっしょ。
市場に需要がたくさんあって、ベンダーやプラットフォームの縛りがきつくなく、仕様がはっきり管理されている、みたいな言語が他にないから、選択肢として選びようがない。
学校教育で、PHPやC#を教えても、仕様がころころ変わったり使えるプラットフォームが限られてたりで汎用性がない。
かといってPythonとか学術向けの言語を教えたら、実務で使えないとか言われる。
消去法でJavaになるのも致し方ない。
Re: (スコア:0)
PHPもC#も、WindowsでもLinuxでもMacでも動くやん
Re: (スコア:0)
動けばいいってもんじゃないんだぜ。
Windows環境のPHPや、Linux環境でのC#が商用利用に問題ないかっていうと、問題ないとは言い難い。
Re:教育がJavaで行われる理由 (スコア:1)
> Windows環境のPHPや、Linux環境でのC#が商用利用に問題ないかっていうと、問題ないとは言い難い。
Windows環境のPHPもLinux環境のC#も商用利用OKだしMSが公式にサポートしてるじゃん
LinuxでのC#はまだ日が浅いからパフォーマンスはネイティブの8割ぐらいだけど普通に動くし、
PHPに至ってはMSがIIS設定までしてくれるインストーラ付きで速度もNginx on Linux + PHP(FastCGI)と同程度には出る。
使ったこと無いのにイメージだけで言ってるでしょ。
そういうのやめてくれませんかね。
Re: (スコア:0)
電子入札などの電子認証ソフトがそれだからほんと困る。
Re: (スコア:0)
>電子入札
Javaに限らず、Windows XPだってサポートを切ろうとすると未だに
中小土建屋から「使えなくなる!」ってかち込み来るからね。
Re: (スコア:0)
javaがガンなのは同意なんですが、javaじゃないとすると、
何で作るのがいいんでしょうね?
通信系のアプライアンスだと、
・windows, hp-ux, solarisあたりで動く。
・GUI, 日本語処理, 他言語処理
・ある程度の個別対応はあるにしても、プラットフォーム間でだいたい同じコードにしたい。
・proof of conceptレベルではなく、商用レベルの安定性、機能性がある。
あたりが要件になりますが、java以外思いつきません。
electronに期待ですかね。unix用のelectronあるのかな?
Re: (スコア:0)
Java みたいに携帯でも動かしたいとかいうと無理で、OS側にある程度のモダンさは必要になるけど、プラットホーム間の互換性もバージョン間の互換性も Java の比じゃない。
Re:Javaは滅びてほしい (スコア:1)
Qtというか、c++(で書くアプリ)がバージョン依存がきつすぎてダメ。
libsslのVerあげたら動かないとか、libstdc++のverがうんたらとか。
読み込むdll(so)の数が多すぎてあっという間にdll地獄になる。
Re: (スコア:0)
C++の話ですが製品バージョンにboostを使われてひどい目にあったことがある。
それがまたboost自体のバージョンだけでなくビルドできるコンパイラのバージョン依存があって、いろいろと更新せにゃならん段階で作り直しが必要みたいな。
Re: (スコア:0)
一方Googleはすべての依存ライブラリはもちろんコンパイルに必要なclangまでリポジトリーに突っ込んだ
# Linuxディストリビューターからは非難轟々らしいが正しいとしか言いようがない
Re: (スコア:0)
Re: (スコア:0)
>プラットフォーム間でだいたい同じコード
使うプラットフォームに向いた使いやすい言語に向いたコードを書いてください。
設計コンセプトが違うプラットフォーム、言語で同一のコードを使おうとするから余計なトラブル生むのです。
Re: (スコア:0)
private JREは攻撃対象にならないから放置でいいでしょ。
Re: (スコア:0)
DLL Hellとか知らない世代なのかな。
ライブラリのバージョン差で誤動作しまくるのを防ぐために、
必要なDLLはexeと同じ場所に抱え込むようになったり、サイドバイサイドが開発された。
JREだって結局は同じこと。
それにLinuxだって自前でJRE抱えてるソフトは結構多い。特に有償のアプリは。
依存関係に悩む人もいっぱいいるしね。
Re:ローカルJREまで手を出せるのか (スコア:1)
JAR Hellと言う言葉がちゃんとありますよ。
♯XML Hell(struts-configの揶揄)も。
♯この二つはWrite Once Run Away系とも。。
てかオラクルの場合、まずOracleとWebLogic直せよw
この二つはホイホイバージョンアップなんかできんのだし。
Re: (スコア:0)
DBの移行もダンプして新バージョンインストールしてインポートするだけでしょ
毎回リリースごとに詳細なバグリストが公表されてて、回避するのも簡単だしね
# バグリストのタイトルは、えっとそう、Oracleバージョンほにゃららの新機能一覧とかそんな感じだった
諸行無常 (スコア:0)
世の中にレガシーにならない物は無いのですな。
Re: (スコア:0)
ひと昔前のレガシーなシステムに執着していた老害どもの意識も変わってきたのかと思ったら、今度はJavaに執着していやがる
Re: (スコア:0)
いやレガシーシステムに執着する老害をバカにしていたその下の世代が新しい老害になったんですよ