Why is Java so hard to learn?
Java has unused keywords like goto.
Java convenience functions have to be overloaded for basic types like doubles and float.
It sounds like Spanish, where you learn the formal plural you that no one uses except
in text books or the thee and thou only used in Shakespeare.
Another reason Java is hard to learn is because Java is verbose, taking a lot of text to issue
a command.
For example, Java class definitions are really long.
That’s a lot like Spanish, taking ten words to say the equivalent of the quick brown dog.
Java used to limit you to one exception per catch clause.
If you needed 10 exceptions, you had to rewrite the code at least nine times.
Repetition would add to the verbosity.
But a lot of programmers like Java because it has massive pre-existing code libraries
so you don’t have to re-invent the wheel.
Java libraries don’t have consistent naming for functions.
Nor do they have standard acronyms or capitalization.
So re-using the code requires wandering through and looking for variable names to change.
You would not believe how many coders have problems because they have not learned to
do that yet.
I can not remember the name of the text editor app I saw that’s entire job was converting
names of things to a standard types and text.
Java has tons of type conversions, and this just clutters the code.
And your memory.
Java makes you turn everything into an object, much of which must be buffered.
That’s why it is called object oriented programming.
Java 7 and earlier versions did not let you use multiple inheritances.
So you had to write that much more code to handle inheritances between code modules and
embedded Java modules.
That would definitely make it harder to insert existing code modules or embedded software.
And Unicode can break your code.
No one taught me that yet.
No wonder it is uniformly considered hard to learn.