|The Java Tutorial 6th Ed|
Author: Raymond Gallardo, Scott Hommel, Sowmya Kannan and Joni Gordon
The Java language is still close to being number one so a tutorial offering to get you started is attractive.
This is a book that starts from the basics and covers most of the material you need to turn you into a fairly competent Java programmer. It is based on Java SE 8, although at this introductory level this mostly isn't an issue.
The first disappointment is that it doesn't major on any particular IDE. It has hello world for NetBeans and shows you how to compile a program at the command line for Windows and Linux/Solaris. From this point on it is up to you how you enter and run your code.
After the first introductory chapter the book jumps into the problem of explaining what object oriented programing is about. Yes, before introducing much of the language at all, we have class, object, inheritance and what is a package. This is fine if you already program in some other language, but it is going to make the beginner feel well out of their depth. Skip it and come back to it if you find it to confusing.
Chapter 3 gets on to the basics of the language itself but the problem here is that it is introduced as a readable version of the manual. It goes through the basic ideas - variables, arrays, operators, expressions and flow of control - without any real regard for the order in which the reader needs to know about them. It reads much more like a book that is preparing you for an exam than one that is a true tutorial for the beginner. Indeed preparing for the Oracle Java engineering exams is one of the book's stated aims and it has appendices that cover each of the exams.
Chapter 4 returns to classes and objects, but this time in detail. Things are getting advanced very quickly. By the end of the chapter we have covered a lot of ground, including nested and anonymous classes and lambda expressions. From here the book really does get increasingly technical. Chapter 5 is on annotations; 6 is about interfaces and inheritance; 7 is about generics; and 8 is about packages. Then surprisingly, Chapter 9 switches back to basics with a look in detail at numbers and strings! There isn't a great deal of logic to this order. The move back to simpler topic doesn't last long and Chapter 10 is all about exceptions.
After this the book moves away from core Java the language and starts to explain its libraries and infrastructure. Chapter 11 is about basic I/O and NIO.2; 12 is about collections; 13 is about threading; and 14 is about regular expression.
Chapter 15 expands the coverage to the platform environment, i.e. the OS; and 16 explains JAR files. Chapter 17 introduces the web start way of getting Java to run over the web; then 18 introduces the Applet without any real comment that this isn't well supported in the real world due to security issues.
The next two chapters are on Java Rich Internet Applications and then we have a chapter on date and time! This is not logical and neither is the positioning of the final chapter on JavaFX. The sentence
"If you are a developer of Swing applications you can enrich Swing applications by adding JavaFX functionality .."
only serves to point out that Swing, or any other UI library, has been completely ignored in the book. A page and a half on JavaFX hardly helps and it really does make the book seem like a showcase for the technologies that Oracle are trying to push on the reader.
There are some good chapters in this fairly disorganized Java manual. It most certainly isn't suitable for the complete beginner and it probably isn't suitable if you can already program unless the language was fairly object-oriented. The most suitable reader for this book is an existing Java programmer wanting to brush up on what they know and fill in details of Java 8 and other technologies.
The lack of any discussion of applications with UIs isn't a deal breaker for every reader as a lot of Java is server side and doesn't have a UI, but the way that Applets are covered and JavaFX is just mentioned might be.
If you think of this book as more a collection of essays rather than a coherent course then you might find one or two that you want to read. A tutorial course on Java basics it certainly isn't.
|Last Updated ( Wednesday, 05 October 2016 )|