Hardcore Java
Hardcore Java by Robert Simmons Jr
- Binding:
- Paperback
- Number of Pages:
- 400
- ISBN:
- 0596005687
- Product Group:
- book
- Publisher:
- O'Reilly Media
- Publication Date:
- March 11, 2004
- BooksForGeeks.com ID:
- 1341
Just as software development is an iterative process in which an application is never truly "done," the education of a developer should continue for years. You can use Hardcore Java as a guide to the transition from novice Java programmer to journeyman, or as a map to parts of the language you haven't explored (or explored adequately) in your development work to date. Because of those design goals, this book is something of a catch-all, covering about a dozen general topics ranging from exception-handling to nested classes (and interfaces!) and the reflection API. The coverage clearly derives from the author's "lessons learned" notes, and they're rich with information. If nothing in this book surprises you, you're probably very experienced with Java.
In addition to this book's tutorial function, Hardcore Java puts forth and defends a number of opinions about the design and style of Java software. One example: After explaining how bit fields work--bit fields aren't widely used in Java programming, and their advantages may be interesting to some programmers--Robert Simmons points out that they're inherently limited in their ability to contain data, and that this can cause problems. This is the kind of design tradeoff that more advanced Java programmers have to consider, and Simmons does the Java community a service by showing programmers how to think critically about the capabilities of their language. --David Wall, Amazon.com
Topics covered: advanced Java topics, including final constants, collections, exception handling, and nested classes. There's a useful bit about getting customers to help you design the data models they need, and very extensive coverage of reflection.
Reviews for Hardcore Java
-
Something for everyone
Rated out of 5 stars, April 12th, 2006
If you read this book and find out nothing you didn't already know then you should be writing books on Java, not reading them.
There are many gems in this book and although it is true what other reviewers have said about the typos, they failed to spoil the book for me.
All in all and excellent and educational read! -
Some excellent material, but not all is 'hardcore'
Rated out of 5 stars, May 12th, 2005
This book presents some of the more arcane things you can do with Java, including esoteric uses of nested classes; this was a real eye-opener for me. While such things may not be particularly useful, other chapters present ways of programming defensively, using the final keyword and exception mechanisms (to be honest, I don't consider these topics to be particularly `hardcore').Some chapters, including design modelling, seemed out of place in this book, and I certainly wouldn't consider these to be advanced topics.
However, overall this book has made me rethink how I write Java, and I recommend it to anyone that thinks they know the language.
-
Not bad but a fair few typo's
Rated out of 5 stars, September 12th, 2004
I think this book makes some fairly good points but I think a lot of the points are drawn out for too long and there are quite a few typos. Personally I think Effective Java would make a better buy. -
Very disappointing
Rated out of 5 stars, June 12th, 2004
In the preface, the author states that the goal of this book is to transform a developer from the intermediate level to a true guru. In the back cover it even promises that "you'll master the art of writing error-prone (sic!) code", and the reference to "error-prone code" sadly finds its confirmation once one starts reading.It takes about two chapters to demolish the author's credibility as a guru, and you will be reading the rest of the book with a skeptical eye, doubting every assertion that looks questionable and suspecting that the author is talking well above his level of competence, and patronizing about it too!
The first chapters are an atrocious review of some Java concepts, densely packed with serious mistakes, not typos, mistakes (plenty of typos too).
As an example, on page 9 the definition of the 'for' statement is wrong, a simple check of the Java Language Specification would have spared the author some embarrassment.
On page 15 the author gives us wrong rules for labels in Java, and in the same page he confuses the logic of the 'break' and 'continue' statements, providing also a logically wrong code example, just to screw-up things even better.
I would not know how to describe the section on "Chained deferred initialization" on page 53, "raving" maybe. This one is cited in the errata page at oreilly.com, and the "author regrets that it slipped through the proverbial cracks". I am more concerned that something like that has been actually written (complete with code samples!), than that it has passed unscathed through editing and reviewing. Let's hope it was written by somebody else playing with the author's laptop. Somebody who does not know what JVM means.
There are also less severe but equally confidence-abating points, like, on page 25, the form:
new String("A button to show" + text);
which we should not find in books for guru wannabes.
The author is probably a productive software architect, some points, later in the book, are interesting, though nothing could be defined advanced, but he does not know Java better than an average developer, and this book does not add very much to an intermediate level, apart, maybe, from a warning about writing books: writing a book can transform you from a good developer into a bad author.
It is sad that we are flooded with such mediocre and unprofessional "error-prone"publications from such once reputable publishers, from time to time I still re-read and enjoy the conciseness, clarity and value of classics like K&R's "The C Programming Language" and I wonder why today's output is so vastly inferior.
As one of the few exceptions, I strongly recommend Bloch's "Effective Java" (Addison-Wesley) which is truly a book written by a guru. After reading that one, "Hardcore Java" will seem even emptier.
-
Another useful O'Reilly book
Rated out of 5 stars, May 12st, 2004
Another book to my O'Reilly collection, and again it did not disappoint me. Within 10 minutes of picking up this book I found myself opening my IDE and proceeded to modify my code. This book contains useful information to anyone who is looking to advance their java programming skills. This book is not for the complete beginner, the reader must be comfortable with the java language first.

