6

ここでPircBotを変更しているときに、バックエンド全体が Java 1.1をサポートするように作成されていることに気付きました。カスタム キューの実装、ハッシュ テーブルの使用、wait() および notify() シグナリングに基づくカスタムのプロデューサー/コンシューマーの実装などがあります。Commons-lang でさえ、Java 5 がジェネリックのようなテーブルにもたらすものに対するサポートを欠いています。1.1 をサポートするためにできる限りの努力をしている非常に人気のあるフレームワークの他の例をたくさん引き出すことができます。

私の質問はなぜですか?Java コミュニティの特定の部分が新しいバージョンのサポートを拒否しているのはなぜですか? 私はこの理論に従います。古いバージョンは古いバージョンのフレームワークと古い JVM を使用し、新しいバージョンはアップグレードされたフレームワークと JVM を使用します。ソフトウェアですべてをアップグレードします。

Java 1.5 をまだ実行している人々が部分的に理解できるようになりましたが、1.1? それ以前に何かを実行している場合、愚かなポリシー/未知のものを恐れているため、明らかにJVMをアップグレードしていないため、新しいバージョンのソフトウェアにアップグレードするつもりはありません。では、なぜ私たちはまだ彼らをサポートしているのですか?

関連するメモとして、新しいフレームワークを作成している場合、1.5 未満のものをサポートする必要がありますか? 既存のフレームワークをフォークして 1.5 にアップグレードしてから、それを使用することについてメンテナーに相談する必要がありますか?

より具体的な議論 (これは一般的なサポートに関するものです): まだ JDK 1.4 をサポートする正当な理由はありますか?

JRE 1.3 のサポートの終了

4

4 に答える 4

2

簡単だから!Java1.1からJava1.4まで、ほんの小さな言語機能が導入されました(strictfpたとえば)。それで、あなたがそうする必要がないのなら、なぜあなた自身を制限するのですか。したがって、StringUtilクラスを作成したり、Wordファイルを解析したりすると、問題はありません。Java 5から始めるだけで、言語が改善され、Java1.0からJava1.1にもちろん内部クラスが追加されます。

これは言語のためだけのものであり、図書館のためのものではありません。もちろん、興味深い追加があります。

于 2010-08-01T07:53:52.447 に答える
1

後方互換性?

JVMサポートのレベルを変更すると、メジャーリリースが必要になります。つまり、バージョン1.xは2.xに移行して、これを示します。

また、携帯電話でほとんどのカバレッジを得るには、1.1をターゲットにする必要があることを読んだと思います。それは古いかもしれません。

于 2010-08-01T08:24:24.953 に答える
1

最も一般的な理由は、それ以降のバージョンで導入された新機能がとにかく使用されていないことだと思います。つまり、ライブラリがジェネリックスや高度な同時実行機能などの新機能を使用しない場合、互換性のオーバーヘッドはまったくありません。

于 2010-08-01T08:00:55.573 に答える
1

同じソースコードを使用してJavaJVMと.NETの両方で永久に実行できるように、1.1を超えないようにすることを決定した少なくとも1つの営利企業を知っています。

于 2010-08-01T10:37:56.243 に答える