|Teach Yourself Java in 21 Days, 8th Ed (Sams)|
Author: Rogers Cadenhead
If you don't like books in the style of "learn x in y time units" then you already know this book isn't for you. As you might expect. it takes a step-by-step approach and there are 21 of them resulting in a fairly complete coverage of the subject. I have to say right at the start that this isn't for the complete beginner or the reader who has to be told "don't type in the line numbers" although this is mentioned early on.
The book starts with a look at Java, its history and legacy. This is in the same lesson as how to get started programming and which IDE to use. The book doesn't make a big issue of using a given IDE but the inclusion of two appendixes on how to use and fix problems with NetBeans it is clear that this is the preferred option. I would have preferred a more clear cut commitment to use a particular IDE - it makes life easier for beginners. From here the book moves on to consider programming but rather than starting from the simpler ideas of procedural programming - if, for etc. it dives into objects and object-oriented ideas. This is fine as long as you are up to the challenge, but for me this is like trying to explain the workings of an automobile when the reader might not even be aware of the existence of the wheel. This is the sense in which this book is not for the complete beginner with no idea of what programming is about. It is also a reflection of the fact that the pace is quite fast, despite the author's best attempts at making it seem simple. This is bad if you are a complete beginner, but not so much if you are an eager beaver waiting for the low-down on Java.
The first part of the book rounds out with a look at lists and for loops, creating classes and methods, packages, exceptions and threads. What can I say except that any book that has a section on threads in its first section aimed at beginners is not trying restrict itself as to what you are being exposed to. There is also a tendency towards completeness rather than gradualness and in this sense it is more like a friendly version of a technical manual.
Part II of the book is titled "The Java Class Library" and all pretense of being a beginner's book has now vanished - well you are seven days into being a Java programmer. This covers data structures, the Swing library, and 2D graphics. I'm glad the Swing library features so strongly as, despite attempts to make it seem out of date, it is still the one you can rely on. It is sad that NetBeans doesn't figure more in the account as it has a good Swing drag-and-drop editor which makes working with Swing really easy. It is ignored in this account in favour of writing code, which some see as a better way and other see as a waste of good programmer time.
Part III is titled "Java Programming" which is odd because I thought that's what we had been doing since day two. Here you will find topics that mostly don't have much to do with Java programming in particular. The exception is the introduction to inner classes and lambdas which are part of modern Java. After this we have accounts of how to work with I/O,HTTP,databases, RSS, Web requests and a final example of how to write a game in Java. It looks as if days 15 to 21 make the assumption that you are now a competent Java programmer and want to get on with real world tasks.
This is a good book of its type and if you are of above average intelligence (aren't we all) and capable of seeing wood when there are a lot of trees about then you will like it a lot. It is well written, has lots of explanations, even of very simple things, and it goes a very long way in 21 days. If, on the other hand, you are mortal and find having everything presented for your understanding in a sucession of fast-paced days with much confusion about to what is important then you might well struggle.
To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.
|Last Updated ( Saturday, 20 March 2021 )|