cross platform? have you ever looked at the cost of crossplatform support? My JVM runs with a memory usage of 70mb.. That's hardly worth it since the only java program i have on my computer is eclipse, and ZDE.. May be it'll earn back it's worth when every piece of software on one's computer is run on java, but now, it's completely pointless to run 70mb+ memory, it's sad that JVM frequently surpass my system mem usage.. They would do much better to just release a crossplatform compiler that will compile to lowlevel code on whichever platform you want to support, it would definately help the speed, and the program would just get whatever package they need packaged, rather than run under JVM.. Java IMO should power only devices rather than try to be more bloated than Windows..
sure java has a huge library, almost always, when i write java programs, all i seem to be doing is to hunt down the right package and painstakingly modify it for my own use.. However, as java is a "completely" object oriented language, it suppose to tell program to treat every problem in a object oriented way, and object oriented way entails alot of overhead before you can write something that runs.. I'd rather slap together something that'll do the task with whatever method i find the easiest before i go back and refactor the code to be more scalable.. It seems that every java program has to have a english spec before you can actually get to the coding, when in reality, it'll be much easier just to write a prototype in a procedure style to work out the algorithm and then refactor it to be better structured..
oh yah, Java AP exam is easy, i got 5 last year after two years of java in school
good luck in your programming career, if you find yourself bored with what your doing, most likely you've choosen a wrong language to program in..