This book is a great start for beginner or even advanced. It gives great details on each topic it discuses. It's a lot of information to take in, but it definitely gives you the in's and out's of the language and it also is a good book to review in case you start to forget certain topics. All in all I give this book a 9 out of 10