The Deitels’ groundbreaking How to Program series offers unparalleled breadth and depth of object-oriented programming concepts and intermediate-level topics for further study. This survey of Java programming contains an optional extensive OOD/UML 2 case study on developing and implementing the software for an automated teller machine. The Eighth Edition of this acclaimed text is now current with the Java SE 6 updates that have occurred since the book was last published.
The Late Objects Version delays coverage of class development until Chapter 8, presenting the control structures, methods and arrays material in a non-object-oriented, procedural programming context.
I have read and reviewed many books on Java, but this one by the Deitels has a somewhat uniquely different take. You may already know that Java is a fully object oriented language, unlike C++, which was bolted onto C. The latter is a procedural language and for C++ for be backward compatible (ie. run C code), it could not be strictly object oriented. And long and sometimes bitter experiences with the limitations of procedural languages led to the development of OO languages. One consequence is that most books on Java leap directly into OO. Procedural is like a dirty word. But the main concepts in OO are harder to grasp than those of simpler procedural languages. What the Deitels have done is identify a gap in the teaching of Java. There is presumably a need to cater to those readers who might already know a procedural language (Fortran, Cobol, C, Pascal ...) and who might not be ready to jump into learning OO. Or maybe the reader does not know any programming language and wants to slowly get into Java.
So here's the book's strength. The first 6 chapters are a pure procedural pedagogy. If you are an instructor, you can teach these as a good, fairly self contained introduction to Java. This is done through example code that just uses the static main() in one java class. It sidesteps completely the need to define subroutines or methods until chapter 5. Even there, the use of methods captures the flavour of subroutines in Fortran or C.
To be sure, the other 19 chapters of the book then go onto expose the full OO aspects of Java. The exposition is well done. Covering polymorphism, interfaces, GUI design, graphics, strings, etc.
The entire book also follows the Deitel preference for providing complete program code instead of code snippets. The latter are more typical of other texts. The intent here is to position the book towards novice programmers who could regard code snippets as daunting. Yeah, if you are an experienced programmer, this may seem ridiculous, but then you don't need this book anyway.
Was this review helpful? YesNoThank you for your feedback.Report this reviewThank you, this review has been flagged.