Top positive review
75 people found this helpful
An Excellent Tour Guide...
on 14 June 2006
To give you a bit of context so you know where I was coming from before I started reading this book, I used to be a programmer many years ago (over 15), but haven't cut any code for years other than the odd bit of VBA in Excel. I've used mainly BASIC-style languages including Informix, VB, etc. I have read about OO and tried and failed to learn C so have no real experience or understanding of what Java can do. I wanted to learn Java now a) for something to do with my brain (how I miss programming!) and b) to see what all the fuss was about.
I found the book to be very accessible - it has lots of different ways of providing the information - straight text, pictures with text on, jokes (cheesy, but ok), break-out boxes, quizzes, etc. It is probably written for people with short attention spans, but that works ok for me. Sometimes it labours a point a bit too much, but it does mean that everything sticks and I have found this book to be an excellent way for me to learn Java so far. I'm learning new stuff and it is sticking - I can leave it for a few days and still remember everything (both how AND why things are done - something the book is very good at covering). After about a week of reading (doing about an hour a night after work) I have been able to write a basic command line calculator, which uses only about 100 lines of code. I have completed this in far less time than it would have taken me to do it in Informix/VB, etc. The program itself is no big deal in programming terms, but I made sure that the program uses most of the concepts taught in the first half of the book and I didn't have to spend hours flicking around the pages looking for bits and pieces when writing it - any book that can put that amount of knowledge in my head in a week is excellent as far as I am concerned.
I have read another reviewer's comments about this book not being a reference and I agree totally. The book teaches Java and its application of OO concepts in a logical and structured manner and does this very well. It does not cover all aspects of Java, for example it refers the reader to Sun's JDK Documentation to explore the full set of API features. In fact, it doesn't even cover how to compile and execute Java programs (classes), which seems somewhat fundamental to me. I worked out how to do this at the command prompt (DOS) myself, but now use a development tool called JCreator, which is freeware and makes life a lot easier.
I would say that this book will make you into a competent Java programmer if you are new to Java, but have some confidence/experience with programming or computer software in general (e.g. you aren't scared of concepts like a stack and using pushing and popping, or can work out how to install and use the compiler yourself, etc.). I suspect that more reading will be needed to become a skilled one (and to be fair the book does suggest this so it isn't masquerading as something it isn't). As an analogy, I would describe this book as a very knowledgeable tour guide, but one who assumes you know (in a small way at least) something of the subject already. In other words, after reading it you will be able to write Java-based OO programs, but won't be necessarily able to articulate the concepts and arguments underpinning the reasons for using OO in the first place or the full power that Java has to offer. If you are hobbyist Java-noodler like me then that's absolutely fine. If you want to become an excellent Java programmer then this book would be a great first step, but will not take you on the full journey.