Reading list: programming languages
java books