Java Open Source Programming book biled

Well I knew eventually the book would be biled.

While I usually find negative feedback very helpful (thanks Werner!), I feel that Hani’s review has unfortunately missed the point of the book.

The book is based around the theme of improving development productivity and the quality of real world systems through simplifying code. Whereas many other books on the shelves at the moment are ‘bibles’ that provide a comprehensive in-depth guide to specific technologies, this book tries to do something different by illustrating how using some simple tools and design techniques you can stay on top of development. Admittedly, the title of the book doesn’t convey this – I hope that really isn’t a reason to read the book.

The simplicity expressed in the JUnit and mock objects chapters was exactly what we were trying to get across to the reader. Rather than providing a brute-force approach to testing complicated applications by using tools equally as complicated, we advocate simplifying the design of applications.

Through using techniques such as test driven development (though not exclusively), you are driven towards this simpler design. Rather than show how you can use mock objects to test complicated things like environment, resources and complicated dependencies, we show how you can alter the design of your code so these complexities are encapsulated behind simpler abstractions. The examples used in many of the chapters are not much simpler than those used in my real applications at work – and I don’t write pet stores for a living ;).

There are also books that go into the theory behind simpler design, we try and make it more concrete by showing how you can make these kind of abstractions with technologies that are common in the Java development community. We often promote the use of one technology over the other (for example WebWork over Struts or Hibernate over CMP) because these are more geared towards simplicity and abstraction. In these cases we often summarise the key differences between these technologies. That’s not to say that this book is useless to you if you are not using these technologies as the simplicity we illustrate is beneficial in many kinds of application development.

Even if you are familiar with (or choose not to use) the technologies explained in first half of this book, the second half really captures what we are trying to get across. It illustrates by example how the technologies and techniques come together in many small steps, creating a system that can evolve, scale and has a high quality of design.

One of the most challenging tasks of writing a book is putting yourself in the mind of the reader audience. Some content may be obvious to some people. Some people may find none of it useful. Our aim is for most people to find most of it useful, which as Hani has made clear, unfortunately means most people find some of it completely useless.

If Hani’s review has put you off from reading the book, please take time to look at some other reviews (positive and negative) and remember that Hani’s view more-often-than-not skips over the positive aspects of something he is critiquing.

  • Trackback are closed
  • Comments (4)
    • A Reader
    • January 5th, 2004

    No the title does not convey your idea of what the book is about. From the title I would guess it’s a book about using open source tools for Java development.

    The title should reflect the theme of the book should it not?

    If your book is yet another attempt at pointing out yet another methodolgy for software development, then the title of the book should reflect that.

    Hani’s review is right on. Each of you guys has a different view of what the book is about. Your individual blogs also reflect this.

    Better luck in the future.

    • Anonymous
    • January 5th, 2004

    Hani doesn’t ever “critique”. His schtick is to skim-read some latest thing that everybody is blogging about and then rant about what he perceives to be the negative aspects before he’s understood it. It makes for some amusing reading, but nobody takes it seriously, I hope. Hani seems to be trying to be the Bill Hicks of the Java blogging community, but unfortunately for him, Bill Hicks was an extremely intelligent and erudite man. You need more than just bile to make serious points through dark comedy.

    • Anonymous
    • January 5th, 2004

    That is a very sad comment on the state of the Java community then.

    • why?
    • January 9th, 2004

    Hani basically raves that s/ware development is too complicated, driven by fads and is often done by incompetents. That’s scarcely contraversial. The everything **must** be represented as an object meme needs to be fought, no matter the casualties!

Comments are closed.
%d bloggers like this: