|Also in the world of hatred, a comment which is not new at all - I hate Java. I haven't touched it in ages, until yesterday. The troubles began with installing the JDK and Netbeans, using Sun's installer. It didn't work. The JDK didn't install. "See install.log", I was told. So I did. It said:|
Installing JDKSo not really the most helpful of error messages. With the mighty power of my brain I decided to try uninstalling the Java runtime environment in case it was interfering. Some rebooting later, that was indeed the problem, and thus the JDK was up and running (and then I had to reinstall the runtime environment to get Java-in-browser working again). Pointless stupid hurdle one defeated! The people who wrote this installer are the people I'm trusting to make secure virtual machines. Gah.
Finished installing JDK
So then I went on to the actual coding. Time taken figuring out the stupid unintuitive IDE - some. No points to Java. Time taken making a nice window layout for the application - very little, one or two points to Java. Time taken making it so I can connect to a socket on a remote machine for purposes of testing the applet during development - quite a lot. Minus several points. Time taken making it so that this applet-now-running-as-a-non-applet-for-testing can have its window closed when you click the close button - even more. Plus one stab in the face for Java. Time taken trying to figure out how to make Java do sensible event-based sockets - lots, with no success. Minus all points ever earned, and plus twenty kicks in the groin for Java. Event-based sockets are good. Linux has started doing them at last. Windows has been doing them for at least six years. Java, for some reason, doesn't. And what approximation it has is horrible and stupid, and doesn't interface to the existing event systems at all, which, even if it did, are stupid anyway so that wouldn't make it much better.
I conclude that Java is a programming language intended only for the use of non-programmers. Memorise these 2000 stupid libraries, and don't ever dare try writing some actual code. Unfortunately, there is no normal language for client-side web applications.