Eu penso que para quem está começando o melhor é ler a documentação.
Normalmente na documentação voce terá bastante material para ensinar os primeiros passos.
talvez mais importante do que um livro sobre uma linguagem específica (que tende a ficar "datado" rápido) são livros sobre padrões e boas práticas de desenvolvimento.
- Refactoring, Martin Flower
- Design Patterns, GoF