Work got me Effective Java to go through, but I don't have enough basic Java knowledge to get through it (I know enough Java to be dangerous). I can program in other languages, though, especially in perl, python, JavaScript and PHP. What book should I read before Effective Java?