Re: I </3 reflection
Reply #3 –
Java isn't inherently a bad language. It's the ways in which it is used which are bad, with ever more ridiculous naming conventions and class abstractions. TheDailyWTF has some great examples of when Java is badly implemented.
Though the sandbox implementation of Java combined with its much-hyped write-once-run-anywhere that never lived up to a fraction of the hype are big reasons too. The only reason I got involved in this particular project was because it would only run on Java 1.4 runtimes, and would get very upset (for no reason I could fathom) on later ones.
I ended up replacing the entire applet with a JS one, but the kicker was that the protocol was so badly defined and so much rested on the application session persisting in that protocol between client and server >_< I spent weeks figuring out all that nonsense. My grand plan ultimately was to rewrite the entire system from the ground up (on the backend was some hokey combination of Java->C#->MS SQL Server) and iron out the bugs, some of which were left in from years before, but it never happened in the end.