Reactionary Software / Existing by fschmidt

Java 8

Java started in 1995 as a clean simple object-oriented language with garbage collection. It was good reactionary software, designed before modern programming ruined software. Java was a big improvement over C++ and I started using Java from the beginning.

Java went through many releases. The last useful addition was in 2006 after which it only declined. The last usable release was Java 8 in 2014. After this, Java was totally ruined by modern programmers and became completely unusable. So I suggest using Java 8.

Here is the history of Java copied from here:

I had read about later versions of Java and I knew that it was just getting worse. For example, local-variable type inference is a horrible idea. But when I finally tried to use Java 11, it was far worse than even I expected. They added a new horrible feature Java Modules that not only made Java very complicated, but also completely broke backward compatibility so this feature can't just be ignored. You can find the whole story here. This Java change was so horrible that even some modern programmers complained. The end result is that I will never use a Java version beyond Java 8, and Luan requires Java 8.

This story of the destruction of Java by modern programmers applies to all projects being maintained by modern programmers. Modern programmers can only make software worse, so one should never upgrade any software being maintained by modern programmers. In the case of Java, I suggest sticking with Java 8.