||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: Java, NetBeans, Derby, XML, object oriented programming
Title: Murach's Java Programming, 4e
Author: Joel Murach
Level: Introductory Java, some programming experience aadvised
Verdict: Good as a technical reference manual
This is something of a monster of a book. At around 800 large pages this is not a small book in any sense of the word. The physical size is matched by the ambition - the authors attempt to create a one stop shop for pretty much everything to do with core Java - including programming environment, language basics, object orientation, database access, XML, GUI programming and even application deployment. There's enough topics there to cover a shelf load of books…
The starting point is an introduction to programming Java, pitched at those who've not used the language before and even those who've not programmed before. Now this is actually a hard call. If you've programmed before in another language then diving straight into Java syntax and the use of the NetBeans development language helps get you started quickly. The layout of the book is such that it's very much geared around getting things done and done quickly. The book has a paired page layout strategy - one page of explanation and one page of examples or screen shots. However, if you've not programmed before, then this is harder to take. It's no good learning about the Java way of creating identifiers for classes and variables if you have no idea why you'd need classes and variables.
The book progresses very quickly, with lots of code and examples to help the reader along. The writing is on the terse still - lots of statements of fact with very little in the way of diversions or in-depth explanations. You get the sense that this is a book completely designed to be sitting by your keyboard as your code and try it out for yourself. It is decidedly not the sort of book designed to be read on the train on the way in to work - it's just not a book for reading, it's more like a manual than that.
Aside from the solid choice of topics, the book also scores well in that it makes use of open source tools all the way. As mentioned already, the development environment that is used is NetBeans - and aside from the obvious use for coding, there's coverage of debugging, deploying and using it for GUI design. Some reviewers have criticised the use of NetBeans over Eclipse, but if you want to cover GUI programming and want to stick to the core Java libraries then NetBeans is the obvious choice. And for databases it uses the open source Derby database engine.
Does the book succeed in delivering on all the topics in that long list mentioned earlier? The answer, inevitably, is no, not on all of them. No single volume could possibly hope to cover them all adequately. However, if you view this book as being a useful reference, a good place to brush up on a topic or to get a fast overview, then it does work. In that sense it's a very practical training manual. But if you really want to get a deeper understanding of the concepts, if you want to move beyond the basics, then this isn't the right place to look.
To pick a concrete example - if you want to look at how you code an interface compared to an abstract class, then it's here. All covered in a couple of pages that are easy to find (and unlike some books, this one is easy to navigate). On the other hand if you're looking for advice on when to use one and not the other, and why Java is single inheritance and how that relates to interfaces and so on, then this isn't the place.
So, overall this scores well if you've got existing programming experience and want a fast way into Java. It covers a wide range of topics and is very focused on practicalities. If you're looking for more depth or have never programmed before, this really isn't the book to go to.