I've been meaning to write a review of this book for ages now but I kept putting it off. I've been putting it off firstly because I can't be bothered, and secondly I've been too busy programming. And the reason I've been spending all my time programming and that I didn't just give up after the first month is because of this book.
So I feel too guilty not to write a review. Not because I feel I owe Deitel with their overpriced books, but because I know there will be people reading this who have been baffled by rubbish, incomplete, internet tutorials and are looking at which book to get first. And chances are that person will be put off by the price and lack of reviews and go for Head First Java. (Which I hated).
If you look through my previous reviews you will see I've not been that easily impressed by other Java Books. So what's so good about this book that it deserves 5 stars? Firstly the amount of exercises.
Every other book i tried would give you a 50 page chapter followed by only one or two exercises. Which in my opinion isn't enough. But with this book there were absolutely loads at the end of each chapter. Especially the beginning chapters, where i think you will need the exercises more.
This book had me creating programs to translate Morse code into English, to convert binary numbers into decimal numbers. It even had me make my own spell checker. And although it felt quite challenging in places, it never really felt too hard. They got the learning curve just right and always provided me with enough information to have a decent go at it.
The other reason I loved this book was because of just how well it explained everything. All the other tutorials I had read before getting this book would leave out a bit of information, or use a term they didn't explain. So I would have to go online to find a tutorial explaining the term they didn't explain. Only for THAT tutorial to not explain something else properly. So I would be back googling. And it just felt like I was on a never ending wild goose chase of knowledge. It drove me crazy and made me want to quit.
This book doesn't do that though. It's so clear. Every little thing is explained. You can tell they must have refined each version listening to feedback from readers who were puzzled. If you do have programming experience it may well feel a little too overly explained and that it goes on a bit. But I'm recommending this book to people with no experience what-so-ever.
One thing you should bear in mind is that I've heard that the 7th edition is pretty much exactly the same as this one but much cheaper.