Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your email address or mobile phone number.
Bitter Java Paperback – April, 2002
Top 20 lists in Books
View the top 20 best sellers of all time, the most reviewed books of all time and some of our editors' favorite picks. Learn more
Frequently Bought Together
Customers Who Bought This Item Also Bought
"A superbly presented guide...an essential, core addition to the Java user's reference shelf collection." -- Wisconsin Bookwatch
"At last we have a book that tackles the problems rather than pretending there are none." -- CVu, the Journal of the ACCU
"Does a great job of articulating a philosophical foundation on which good architects and programmers can build." -- JavaPro Magazine
"It is the rare computer science book that truly captivates me....I just couldn't put Bitter Java down." -- Skip McCormick, co-author of Anti-patterns
"Packed with useful design tips and techniques for the serious Java server-side developer. . . . read it many times." -- VisualBuilder
"Save big bucks by reading this book instead of hiring a consultant." -- CompuNotes
"Will leave you with an instinctive sense for the antipatterns . . . so you can keep your Java brewing smooth and sweet." -- SitePoint Tech Times
About the Author
More About the Author
I've been writing technical books for more than 10 years now, with the last 7 coming since 2000. I write for the love of the craft.
Others have told me that my fundamental strength as an author is the ability to quickly recognize emerging trends. I do tend to find emerging frameworks just as they become popular, and that skill is a mixed blessing that--combined with my complete lack of political tact--gets me in trouble sometimes, as it did with Bitter Java (Java is too hard), Beyond Java (Java is not going to last forever), and most recently, From Java to Ruby: Things Every Manager should Know (there's a better language for some problems, but our managers don't know it yet.)
My promise to you is this: I will always seek to find better ways to do things, and will work hard to tell you the truth, without regard for any notion of political correctness. Thanks for reading.
Top Customer Reviews
Bitter Java is all about applications and examples of antipatterns and refactoring. It is about finding a problem and then going through the various solutions (continuous improvement).
We found the relationship between the first two examples ("Magic Pushbutton" and "Magic Servlet") very interesting. The author has a good method of explaining the problems to new Java developers. The first solution included the command and MVC design pattern.
It is refreshing to read a book that comments on techniques included from Jakarta Struts.
Problems addressed in this book include:
· Monolithic Servlets and JSPs
· Caching dynamic content
· Memory leaks
· Database connection overuse
· XML misuse
· EJB Round-tripping
· Entity bean misuse
· Lack of coding standard
· Performance tuning
This is one of those books that you will want to read from beginning to end. We found the many personal stories before each key topic very enjoyable to read. Web page references are used throughout the text (mostly from IBM's web site). This book is packed with useful design tips and techniques for the serious Java server-side developer. Go and buy this book because you will want to read it many times.
If design patterns are success stories, anti-patterns are lessons you can learn from other people's failures. Consultants like Bruce Tate make money to support his Kayak hobby by identifying anti-patterns in customer projects and offering valuable advices to refactor them. Now, he has offered his advices for all of us for [$] in Manning's new book "Bitter Java" (ISBN 193011043X).
So, what exactly are anti-patterns? Are they only relevant to software architects? Now, consider the following questions:
Do you know that Java applications might have memory leaks too? Have you written 500 line servlets or JSP pages? Do you notice that your container managed EJBs cannot scale when the load is high? If any of the answers is "yes", Java anti-patterns might be more relevant to you than you think.
This book avoids discussing anti-pattern in academic terms. Instead, it gives a real world server side Java application that an inexperienced developer is likely to write and then refactors it all the way through various anti-patterns to a scalable, maintainable solution. Tate not only teaches you the anti-patterns you encounter, he also gives a valuable example on the software development process to refactor an poorly written existing application.
The author uses extensive real world code examples throughout the book to explain the problems and why we should avoid them. Like all other Manning books, the code examples are well commented and annotated in the main text.Read more ›
The good points: the author is a fairly good writer, presenting technical information in a semi-interesting fashion. If you don't know what MVC is, or the Command pattern, there is some useful information here (read the caveats below).
The bad points: what good information is here is better presented in many other design patterns books. The book's information is really for junior level people and yet is so full of errors (and uncompilable code!) that it is likely to be frustrating to just such a beginner. Be prepared for coding errors such as:
public Integer i = 0;
If you don't know why this is wrong, get a well edited book. What's more, the author borrows liberally from freely available code out on the web (good) but can't even reformat the code to be consistent with his own (bad, bad, bad!). So you are treated to at least a half dozen different code formatting peculiarities during the code examples. As well, he is inconsistent about how he presents code, in some cases presenting a whole class, in other cases just a snippet without any context of how it might be employed in a class (again, a problem for the target audience).
Frankly don't get this book unless you've already tried some of the better books out there like:
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
one of the many Java design patterns books (I won't recommend one in particular, since I've only skimmed them, not read any straight through).
The content is very accessible to the intermediate programmer and budding architect, and the examples of implementations with problems followed by refactored improvements highly valuable. It's much better to learn learn from mistakes without making them all yourself, as the book points out.
The chapter on memory management under Java was a refreshing treat. Coming from a C++ background where resources are a major concern, I've heard many Java programmers use garbage collection in Java as a reason not to worry about resources. The book addressed how garbage collection worked in the past as well as current algorithms, and pointed out ways resources can be leaked quite easily. Awareness of a potential problem is one of the best tools a developer has, and the antipatterns addressed in this book will be ones I revisit when starting new projects. It's essentially defensive driving for developers, but fun to read!
Some sections concered areas I've only read about thus far, and it was interesting to see some problems in implementations based largely on following available "how to" guides. The list of suggested follow up reading will keep me busy for quite a while.
Most Recent Customer Reviews
Bruce Tate tried to make learning Java more fun. He failed miserable. What is this? A novel? A sports book? Read morePublished on May 11, 2005 by Simon Russo
I'm mixed on this one. This books attempts to present refactoring in a way that inexperienced developers can understand. In that respect, I think the author delivers. Read morePublished on December 4, 2004 by Rosalba Scott
The author himself is one of the reviewers who gave this book 5 stars. That made me wonder if others who think highly of this book are somehow related to Mr. Tate. His friend? Read morePublished on January 3, 2004
This book is well written but I was expected something more advanced. If you have been a real J2EE developer for at least a year, you would probably have run across some if not... Read morePublished on November 26, 2003 by Michael A. Klem
good sections on the ejb and web tier with common anti-patterns illustrated. however most materials are introductory and i was hoping for more advanced techniques and advice to... Read morePublished on April 1, 2003 by Ah Pui
Not a bad book really ...
... if you never did (server side) programming. Or had some
other decent education including topics like caching,
modularisation,... Read more
Tate is trying to make a boring subject more fun.
You've seen that pattern before.
While not being the first one, he's definitely the first I've seen tying a story on bad... Read more
this is a really well written book, is a fun read, and offers a lot of bad programming examples. you'll enjoy it (really-you will).Published on October 17, 2002 by Tobi McFarland
Don't bother buying the hard copy of this book. The so-called
antipatterns in this book are too simple for anybody who has
at least some common senses in using... Read more