Author: Mike McGrath
Publisher: In Easy Steps
Aimed at: Beginners
Pros: Colorful presentation is easy to follow
Cons: Goes into too much detail too quickly
Reviewed by: Alex Armstrong
Java is a big language and it has a huge infrastructure around it - so you can't expect a slim volume like Java in Easy Steps to tell you everything you ever need to know about it. In this case the real question is will it get you off the starting blocks?
The most important thing to know about this approach to learning Java is that it uses the command line. You use a general text editor to construct programs and you use the command line compiler to compile and run them. This is a very miniimatlist approach and, as there are easy to use and free IDEs that make working with Java so much easier, it is difficult to see why the book avoids using them. One possibility is that if it had opted for NetBeans, say, then it would have alienated readers wanting to use Eclipse or IntelliJ. However, as it is an introductory book it could simply have taken the approach that no matter what IDE you want to use in the long run you might as well start with this one.. where "this one" is a choice the author could have made.
OK, while I'm not a fan of the command line as a programming tool, you might be so let's continue. After explaining how to download the JDK, the first example is a traditional "hello world". No problems with this and you should be able to follow the instructions and understand what is going on.
From this first program, Java's features are introduced one by one via short explanations and examples. The book has a tendency to mention the fine detail while the reader is still grappling with the bigger concepts. For example, immediately after introducing the idea of variable there is a list of reserved words that you can't use. From here we go rapidly from simple data types, through expressions, and on. The presentation is clear, but if you haven't a clue what programming is all about you are going to find it hard going, simply because of the pace. This isn't a gentle introduction that comes back to the topic later to fill in the missing parts - it tells you pretty much everything.
After looking at elementary operations, control structures are introduced and, again, there is no attempt to introduce the basic control structures (such as loop and if) and then elaborate later. Instead we work through if, if else, switch, for, while, and so on including breaking out of structures. Next we move on to casting, arrays, parameters etc. A quick introduction to Java classes precedes a look at working with data - arrays, strings and random numbers. Onward at a very fast pace we next look at building classes and objects - scope, inheritance, instances, encapsulations and so on.
The next section takes a bit of a breather and consists of a collection of topics linked by being about data manipulation - files, console input, sorting, dates, currency and so on.
At last we reach a discussion of creating a user interface via the Swing library. Of course, as no IDE is in use, the whole thing is tackled using nothing but code and no designer is used to generate the code. This is probably a good way to introduce the whole idea of classes and objects, but instead it has been left as an advanced topic late in the book. Finally, we have a section on events and one on deployment including applets.
This really is a lightning introduction to Java and, as long as you aren't a complete beginner or have some external help, it isn't a bad way to find out about programming in Java. The entire presentation is colorful and the style friendly. It's just too fast and too complete for the beginner. If you are a fan of big complete examples then you will be disappointed because the examples provides are no more than snippets. Again, you need to be sufficiently up on things to realise how things can be used for real.
This isn't a book that will suit everyone. It could well prove useful if you are trying to get up to speed in Java and know another language. For the complete beginner, however, a book that takes things more slowly would be better. So, recommended but with reservations.