I've never used a GUI java program that performed decently enough to be usable.  Everything from menu speeds to text entry speeds is simply abysmal.  Even with a very simple text editor *I* wrote in Java, I can type faster than the letters appear on the screen.  In both windows and linux.  I guess java is okay for applets like the chat crapplet, but for some reason, full-fledged gui programs tend to bite.
As for programming in java, I hate it because of the entirely too long, unclear, and annoying object heirarchy.  For example:
 
        
    
There are so many things wrong with this code it's not even funny.  First, you have to declare variable types too many times.  For example, String myString = new String;  Duh.
Second, they are using object methods to test equality, instead of simple operators like "==" or "eq":
if (message.equalsIgnoreCase("time")) {
Third, the object heirarchy is a nightmare:
String time = new java.util.Date().toString();
So, it takes that much to get a TIMESTAMP.  I have to browse through the base java class, to the util class, where I finally find a date method, which of course returns a date object, so I have to then convert the date object to a string.  That's four levels of objects/methods just to get a stinking timestamp.  And that's one of the LEAST extreme examples I could find.
The language just isn't friendly to programmers.  Maybe it's more "proper" and maybe it's more "structured," but it sure is a pain in the ***  to code in.
------------------
EvilMagic.net: Brian's Web Log