Java 8
Javaは1995年にガベージコレクションを備えたクリーンでシンプルなオブジェクト指向言語として始まりました。これは現代のプログラミングがソフトウェアを台無しにする前に設計された良い反動的ソフトウェアでした。JavaはC++に比べて大きな改善をもたらし、私は最初からJavaを使用し始めました。
Javaは多くのリリースを経ました。最後の有用な追加は2006年で、それ以降は衰退するばかりでした。最後に使えるリリースは2014年のJava 8でした。この後、Javaは現代のプログラマーによって完全に台無しにされ、完全に使えなくなりました。したがって、Java 8を使用することをお勧めします。
ここに、ここからコピーしたJavaの歴史があります:
- Java 1.0は1995年にリリースされました。
- Java 1.1(1997年)はリフレクションを追加しましたが、これは良かったです。また、ここで述べたように問題のある内部クラスも追加しました。
- Java 1.2(1998年)は言語を変更しませんでした。
- Java 1.4(2002年)は「assert」を追加しましたが、これは無害で、私は使用しません。
-
Java 1.5(2004年)は多くの機能を追加しました。
- ジェネリクスを追加しましたが、これはひどい混乱です。ジェネリクスに対する何らかの解決策が必要でしたが、この過度に複雑な災害は正しい解決策ではありませんでした。正直に言うと、これがどのように行われるべきかを考えたことはありません。しかし、C++のアプローチでさえJavaのジェネリクスよりも優れています。私の提案は、問題がない場合にのみジェネリクスを使用することです。何らかの複雑さが生じたら、ジェネリクスを捨てて、問題を解決しようとするのをやめることです。
- アノテーションを追加しました。これは無害で無視できます。私はこれを試しましたが、実際に必要とすることはありませんでした。
- オートボクシングを追加しました。理論的には好きではありませんが、実際には無害のようです。私はこれを使用します。
- 列挙型を追加しました。これはそれほど悪くありませんが、ほとんど使用しません。
- 可変長引数を追加しました。これは良い機能です。
- for-eachループを追加しました。これは良い機能です。
- 静的インポートを追加しました。これは純粋に悪い機能です。読みやすさを損なうだけで、決して使用すべきではありません。
- Java 1.6(2006年)はコンパイラAPIを追加しました。これは良い機能で、Luanをコンパイルするために使用しています。
- Java 1.7(2011年)は重要な言語の変更はありませんでした。
- Java 1.8(2014年)はラムダ式を追加しましたが、これは完全に恐ろしいものです。私はこれを使用したことがありません。これは基本的に壊れた匿名内部クラスのように実装された堕落した疑似クロージャです。内部クラスのすべての欠点を抱えているだけでなく、構文的にひどく、読みづらいです。そして、Javaには全く合いません。
私はJavaの後のバージョンについて読んでいましたが、それが悪化しているだけだと知っていました。例えば、ローカル変数型推論はひどいアイデアです。しかし、最終的にJava 11を使用しようとしたとき、それは私が予想していた以上にひどいものでした。新しいひどい機能Javaモジュールが追加され、Javaを非常に複雑にしただけでなく、後方互換性を完全に壊したため、この機能を無視することはできません。全体の話はここで見つけることができます。このJavaの変更は非常にひどかったため、一部の現代のプログラマーも不満を言いました。最終的な結果として、私はJava 8を超えるバージョンを使用することは決してなく、LuanはJava 8を必要とします。
現代のプログラマーによるJavaの破壊のこの話は、現代のプログラマーによって維持されているすべてのプロジェクトに当てはまります。現代のプログラマーはソフトウェアを悪化させることしかできないので、現代のプログラマーによって維持されているソフトウェアをアップグレードすることは決してありません。Javaの場合、Java 8を使用し続けることをお勧めします。