The thing about Java is it isn't even that bad a language. I think Java primarily gets a bad rep because people learn it as their first programming language.
Java should not be learned as a first programming language. Learn another language like Python, learn about classes and functions and methods in that language, and only then start learning Java. If you're learning Java first, you're going to have no idea about any of that stuff, which will make everything that's done seem like confusing and arbitrary boilerplate.
Unfortunately, the College Board seems not to have gotten the memo. AP CS A, which is the primary high school Computer Science curriculum in the US, uses Java. And they don't even make you use any unique Java features like having everything be tied to a class, or interfaces, or Java's uniquely fantastic enum system, or anything else. It honestly feels like they just threw a dart at a list of programming languages and it happened to land of Java, because the curriculum would be the exact same in almost any other language.
















