How do you know what a good book is? I've seen recommendations in fields I'm knowledgeable about that were hot garbage. Those were recommendations by reputed people for reputed authors. I don't know how a beginner is supposed to start without trying a few and learning some bad habits.
If you're a beginner, almost any book by a reputable publisher is good. The controversial ideas start at the upper intermediary or advanced level. No beginner knows enough to argue about clean code or the gang of four book.