Also, question for java-programmers with couple of years experince who have taken this exam (succesfully)? Has passing this exam somehow improved your daily work input? If so, can you describe how?
It has. I have seen programmers that catch OutOfmemoryErrors, add values to an arraylist and iterate over them at the same time, use document.write() (javascript) to print out
JSP, and I could go on. Anyone that passes the Sun exams will know not to do
some of the things mentioned above. The SCJP as such does not teach best practices. But it teaches you Syntax and the so called "rules" of the languages. You can pass SCJP and still write horrible code.
This is the basic building block. Once this building block is strong, you can build more stuff over it by complementing your knowledge with books. I am reading several right now. Effective java 2nd edition, An algorithm and data structure book, Web services up and running, etc etc. The SCJP and other exams helped form a good foundation. Reading the other books has helped build over the core java knowledge and know what best practices / good design are.
Isn't that kind of thing to compiler to decide? Aren't computers meant to do things like that, and not humans? Luckily, as I've understood, there's not anymore so much need to memorize APIs to pass the exam as it used to be years ago. Am I correct?
This is true. A developer need not necessarily remember APIs. But knowing what the underlying API functionality is, is important. For example, Iterator methods, call back methods are important to memorize. However no one can remember all the methods. Not even the authors that wrote them