java hosting


Title
Author
Publisher
ISBN
Reviewed by
Review text
Category

Your search returned 7 matching documents




Effective Java:Programming Language Guide
by Joshua Bloch, Joshua Bloch


Prentice Hall PTR
second edition
May 2008
384 pages

Reviewed by Campbell Ritchie, June 2008
  (10 of 10)


I had been waiting for this 2nd edition for ages, and I have not been disappointed by it.

Everything is there:

* Why you don't concatenate Strings repeatedly
* Confusion between "L" and "l" and "1"
* How to get floating-point arithmetic wrong
* Why you avoid returning null
* Why you always use library classes.
These few previous points ought to be taught to even the rawest beginner, but the remainder of the book is only suitable for the more experienced programmer. Bloch takes a tour de force through all the features of the language. Some chapters are about general programming, including the methods inherited from java.lang.Object, others about specific features like concurrency.

he book is completely up to date for Java 6. It is clear and easy to read, although dense with information, so one cannot skim through it. Bloch pulls no punches. He tells us the features he likes and which he doesn't. He warns against using finalize() and clone() and calls classes like StringTokenizer, and the older concurrency mechanisms obsolete.

Anybody who wants to understand the workings of the language, to get up to speed and write code which really works: you're not borrowing my copy. Buy your own and you will be really pleased with it.

Discuss book in the Saloon More info at Amazon.com



Prentice Hall PTR
second edition
May 2008
384 pages

Reviewed by Michael Ernest, May 2008
  (10 of 10)


This updated edition has plenty to recommend it. The chapter "Substitutes for C Constructs" is replaced by two new ones, "Generics" and "Enums and Annotations." Some existing items are amended to reflect these constructs. Some new ones promote the use of concurrency over traditional Java threads.

All in all, the second edition boasts 78 items compared to the first edition's 57 items. As before, the justifications driving each item are lucid and compelling, and much, much more valuable in my mind when used to assert confidence in a proven technique. I understand some people come to Effective Java as a primer. I can see how it woud be useful as such, but the arguments laid out seem to me more valuable once you've fumbled a bit on your own.

One item ("For instance control, prefer enum types to readResolve") amounts to a retraction; I consider it a sign of strength, that the book has so little to apologize for.

Sometimes you want answers on best practice from the best authority you can find. If you have a better source than Google's Chief Java Architect, share! I remain impressed by and indebted to Bloch for his simple, elegant style. I've been waiting for a long time to read his take on these new topics. Thank you Josh!

Discuss book in the Saloon More info at Amazon.com



Prentice Hall PTR
second edition
May 2008
384 pages

Reviewed by Jeanne Boyarsky, July 2008
  (10 of 10)


The second edition of "Effective Java" is almost like a completely different book from the first. There were new chapters addressing Java 5 topics such as generics, enums and autoboxing. Existing patterns were rewritten for Java 5/6 - both conceptually and for the code examples. For example, overloading now address varargs. The number of items grew from 57 to 78 as well and the author removed the old ones that are obsolete.

As a reference, chapter one provided a table to quickly find items on Java 5. The appendix provided a cross mapping to find items from the first edition in this copy.

For those new to "Effective Java", it is meant for intermediate to advanced Java developers. It provides best practices, recipes and idioms for working with Java. The author is good about listing both advantages and disadvantages to choose when to apply a tip.

When thinking about my favorite chapter, I have trouble picking just one. I'm torn between the concurrency and enum chapters. The book goes beyond the common "use enums over constants" and goes into things like EnumBitSets.

I learned a lot reading the first edition of this book and learned just as much reading the second. If you have the first edition, but this one anyway. And if you haven't read the first edition, get your hands on the latest copy!

Discuss book in the Saloon More info at Amazon.com



Prentice Hall PTR
1 edition
June 2001
272 pages

Reviewed by Peter Tran, August 2001
  (10 of 10)


Have you ever overridden the equals() method, but not have it work correctly? Do you miss some of the C constructs and wonder how you can do the same thing in JAVA? Have you ever wished you could come up with better design for your classes?

Then this book is for you. First, this is definitely not a book for beginners. I'm not saying you have to be a guru to appreciate the material presented. I made a lot of the same mistakes Joshua pointed out in his book early in my JAVA career. For example, the check list for Item 7: Obeying the general contract when overriding equals, will more than pay for the book when you don't have to spend several hours trying to figure out why your equals() implementation isn't working. (If my manager is reading this review, let it be known that this book wasn't available a year ago, and implementing equals() correctly isn't trivial!) The book is littered with examples of actual design patterns used in the JDK library, and the material is very up-to-date with references to the JDK 1.4.

Anyone aspiring to write good JAVA code that others will appreciate reading and maintaining should be required to own a copy of this book. This is one of those rare books where the information won't become obsolete with subsequent release of the JDK library. A definite must-have for any JAVA developer/programmer.

Discuss book in the Saloon More info at Amazon.com




Effective Unit Testing: A guide for Java Developers
by Lasse Koskela


Manning Publications
edition
February 2013
248 pages

Reviewed by Jeanne Boyarsky, March 2013
  (10 of 10)



"Effective Unit Testing" felt familiar to me. I think it is because I read "Test Driven" and saw the author present some of the content from this title at the 2012 Server Side Java Symposium. You can get a feel for some of the smells from my live blog post of that session http://www.selikoff.net/2011/03/16/test-smells-breakout-at-the-server-side-java-symposium/

Part one sets the stage. It walks you through a hypothetical teams journey - no tests → tests → test driven! I liked the examples of bad code and bad test examples. And I really like the explanation of different types of test doubles. I also liked the example of jMock vs Mockito to do the same thing.

Part two shows you a series of test smells and how to fix them. One of my favorites is something really simple. How to make a bowling example more readable by using method names so you can embed "magic values" in the code. I also particularly liked the segment on how parameterized tests can be an anti-pattern along with how to avoid this problem.

Part three is "other things." It covers using other JVM languages to test and how to make your tests faster. Both via the tests and running them in the cloud. I really liked the part on how to profile in both Ant (which I knew) and Maven (which I haven't needed to yet.)

While there is an appendix to get you up to speed on JUnit, you should read a different book if you are trying to get up to speed on JUnit. I recommend "JUnit in Action" or "Test Driven" for that. Once you know any unit testing framework, it is time to come back to this book so you can write better tests.

It was a great book. My only problem was that having seen the session some was repetitive. But I highly recommend both the book and the talk.

---
Disclosure: I received a copy of this book from the publisher in exchange for writing this review on behalf of CodeRanch.

Discuss book in the Saloon More info at Amazon.com




Effective Enterprise Java
by Ted Neward


Addison-Wesley Professional
1 edition
September 2004
496 pages

Reviewed by Jeanne Boyarsky, December 2005
  (10 of 10)


"Effective Enterprise Java" is similar in format and quality to "Effective Java". It is written at a higher level as it applies to J2EE systems, rather than the Java language. The 75 items include architecture/design (batch SQL to avoid server round trips) and coding level (serialverUID) tips. They do lean toward the architecture/design level tips as the author refers to "Enterprise Java" for more lower level ones.

The tradeoffs of various techniques are highlighted rather than just relying on best practices. For example, "use object-first persistence", "use relational-first persistence" and "use procedural-first persistence" are all included as tips. Obviously, you wouldn't want to do all of these at once. However, the discussion of when to use each is extremely valuable.

All the trips are grouped by topic. Where appropriate, code snippets are used quite effectively (no pun intended.) Examples and anecdotes prevent the material from getting dry. This book is destined to become a classic. I highly recommend it for any J2EE developer, designer or architect.

Discuss book in the Saloon More info at Amazon.com



Addison-Wesley Professional
1 edition
September 2004
496 pages

Reviewed by Thomas Paul, November 2004
  (10 of 10)


As anyone who has programmed using Servlets, JSPs, and EJBs knows, the complexities of integrating multiple layers of code can drive you to distraction. If you aren't careful, you can create an application that performs poorly under load, is difficult to maintain, and is impossible to port from one platform to another. The tricks that a programmer needs to avoid these problems often come painfully with experience. The author has taken his experience and given us a book that is well-written, easy to understand, and provides excellent advice to help you produce superior applications. The best part is that the advice you get is practical advice from someone who has actually experienced the pain and suffering of J2EE development. This book deals in the reality of development and not pie-in-the-sky theory.

The book contains seventy-five items of discussion covering a wide range of topics from the broad, "Keep it simple" to the specific, "Never cede control outside your component while holding locks." The items cover everything from architecture to coding. Even if a particular item is not of interest to you, there will be plenty of other items that will be of interest.

This book is not a tutorial or beginner's book. It is expected that the reader already has experience with J2EE. If that describes you, get this book to avoid more pain and suffering. You will end up a better developer and your applications will be cleaner and easier to maintain.

Discuss book in the Saloon More info at Amazon.com




Effective Software Test Automation
by Kanglin Li, Mengqi Wu


Sybex
1 edition
February 2004
400 pages

Reviewed by Jeanne Boyarsky, April 2004
  (7 of 10)


Effective Software Test Automation walks the reader through building an automated testing tool in C#.

The book describes its target audience as intermediate to advanced programmers. This is accurate since some of the examples get quite complex, such as reflection. The book provides a quick overview of C# for programmers that know other languages. As someone who does not know C#, I found this overview sufficient for understanding the book. The book also gives step-by-step instructions on how to follow the examples using Visual Studio .NET.

The authors state that the concepts in this book can be applied to other languages, such as Java. While this is true, many of the examples are .NET specific. One of the chapters covers testing the Windows Registry. Other chapters cover how to use .NET to accomplish reflection, testing spreadsheets, etc.

The testing tool that ends up being developed is similar to a subset of commercial tools, like Insure++. The tool developed by the book looks as if it could be a good open source tool for C#. If you are a C# developer, it is worth buying the book for the source code alone. The book could be used as a user guide (or developer guide if you are extending the tool.)

I found this book to be a great walkthrough of a C# project. The authors take you through the iterations of the project as it advances. Overall, I would recommend the book for .NET developers.

Discuss book in the Saloon More info at Amazon.com




Agile Database Techniques: Effective Strategies for the Agile Software Developer
by Scott Ambler


Wiley
1 edition
October 2003
480 pages

Reviewed by Lasse Koskela, January 2004
  (7 of 10)


Agile Database Techniques is a brilliant book. Already after reading the first chapter I felt like I had been run over by a truck, wondering why I haven't paid more attention to these issues before. Yet, it also has its flaws which I will go into further down.

Ambler starts laying out the groundwork for the second part of the book by introducing his Agile Data method, UML and data modeling. He also gives a very useful jump-start tutorial on data and class normalization and discusses the infamous object-relational impedance mismatch. Worth noting is that in each chapter (throughout the book) Ambler makes sure that the reader understands how the subjects relate to the role of an agile DBA and what should he be looking out for. The subjects in part one were introduced so well that I more than once thought, "I've never seen such a well-balanced and informative tutorial."

The second part of the book is dedicated for discussing how evolutionary software development is the reality and how techniques such as Agile Model-Driven Development and TDD can assist in surviving in this climate. The chapter on database refactoring is intriguing and the more comprehensive list of database refactorings, found in the appendices, is something I'll definitely Xerox and keep with me in my traveling tool bag. The second part also covers database encapsulation strategies and approaches to mapping objects to relational databases which, again, is a delightfully comprehensive tutorial, as well as touching on the topic of performance tuning.

The third part is a seemingly random collection of subjects such as finding objects in a relational database, referential integrity, concurrency, security, reports and XML with databases. The text is again of high quality and provides an entertaining walk through the woods, but I feel that these chapters had very little to contribute to the subject of the book. This disconnect is made even more clear when Ambler finishes with a 10-page guide on how to become agile and to introduce agility into the organization.

After reading the book, I feel confused. On the other hand, this book is full of little islands of useful insights that I wouldn't think twice recommending for others to read. On the other, the book as a whole is very fragmented and pretty far from what the book's title might suggest. If you pick up the book with an open mind like I did, you'll gain plenty. Otherwise, you'll probably be disappointed to find out that one half of the book probably talks about something you weren't expecting based on the title. After a long struggle, I'm giving this book "only" seven horseshoes despite that it contains some very, very high quality material.

Discuss book in the Saloon More info at Amazon.com




Effective XML
by Elliotte Rusty Harold


Addison-Wesley Professional
1 edition
October 2003
336 pages

Reviewed by John Wetherbie, March 2006
  (10 of 10)


Elliotte Rusty Harold states in the introduction of Effective XML that the book is neither an introductory book nor an XML tutorial. Rather, it is a distillation of the author's experience using and teaching XML and how to use it effectively. The book does a great job of explaining how to use XML and its related technologies.

The book is divided into four major sections: Syntax, Structure, Semantics, and Implementation. Each of the fifty Items packs a lot of information into a few pages. The Items span topics such as why you should Include an XML Declaration (Item 1), Make Structure Explicit through Markup (Item 11), Program to Standard APIs (Item 31), and Write in Unicode (Item 38). Even the Introduction is valuable because it sets the definitions for XML-related terms used in the rest of the book that the author has found to be used interchangeably or inconsistently.

I found the book very readable and like that the information is presented in digestible chunks. Effective XML isn't meant to hype XML but to identify what the actual capabilities of XML and its related technologies are and how best to use them. The book does an outstanding job at this task.

Full disclosure: I received a complimentary copy of the book for review.

Discuss book in the Saloon More info at Amazon.com



Addison-Wesley Professional
1 edition
October 2003
336 pages

Reviewed by Thomas Paul, April 2004
  (9 of 10)


Imagine you are given the opportunity to ask one of the leading experts on XML 50 questions. And further imagine that this expert will answer those questions clearly and completely. You can stop imagining because Elliotte Rusty Harold has done exactly that in this book. Whether you are a relative newbie or an experienced XML developer, you will find useful information in this book. Should I use DOM or SAX? What's the right way to encode binary data? When should I use processing instructions? Should I use XML 1.1? Do I really need to parse my documents? This is just a random sample of the questions that Harold answers in this book. Every page contains valuable information. Harold is unusual in that even though he is an expert he still remembers what it is like to not know something. His explanations don't leave any blanks that you need to fill in. There are no jumps from point A to point Z without taking you through the points in between.

So who should buy this book? Anyone who has some knowledge of XML who is interested in working with XML the right way. Whether you are developing applications to process or create an XML document or whether you are simply designing an XML document you need to read this book. Once you understand the basics of XML, this book will take you to the next step of being able to work with XML effectively.

Discuss book in the Saloon More info at Amazon.com



Addison-Wesley Professional
1 edition
October 2003
336 pages

Reviewed by Jim Yingst, February 2004
  (9 of 10)


The title Effective XML invites comparison with industry classics Effective C++ and Effective Java - each compact collections of very good and useful advice which help the reader master the finer points of the a programming language. This book is, thankfully, a worthy successor to this tradition.

Effective XML is aimed at developers with a decent working understanding of XML, though not necessarily a huge amount of experience with it. But even if you are so experienced with XML that you already know everything the book has to say (very unlikely), you may well find it useful to have a copy on hand to smack the heads of your less experienced co-workers who are in need of some good advice. Because you'll probably find you agree with what ERH has to say, and it can be easier to invoke this book as an authority than to spend your own time trying to convince wayward developers of the error of their ways.

Little time is spent here explaining the details of how to do things; instead the focus more is on when and why to do them. Or why not. The interest is mostly in core concepts like syntax and structure, DTDs, schemas, parsing, etc, emphasizing important but subtle details you may well have missed when you first studied them. The writing style is very clear, concise, and practical. I'd recommend this to just about anyone working with XML in some form.

Discuss book in the Saloon More info at Amazon.com




Effective Project Management
by Robert K. Wysocki, Rudd McGary


Wiley
third edition
August 2003
504 pages

Reviewed by Valentin Crettaz, August 2003
  (9 of 10)


Project management activities are often seen as a waste of time even though they are at the core of any project. Various studies demonstrate that many projects have failed because they lacked the appropriate project management support. Properly managing a project is a difficult, but very important aspect of any kind of venture, be it academic or industrial, small or big, short- or long-lasting. This book introduces existing project management methodologies and best practices, and explains how to successfully manage a project from inception to completion.

The first two bestselling editions of this book have successfully taught the Traditional Project Management approach (TPM) and imposed themselves as the definitive guide to effective project management. This third edition completely covers the first two but it has undergone a major rework to introduce Extreme Project Management (xPM) as well as a new approach, called the Adaptive Project Framework (APF) that bridges the gap between TPM and xPM. This new project management framework is suitable for those kinds of projects for which the TPM and the xPM approaches are inadequate. APF has proven to be very successful in many real-world projects. APF is good tool that teaches you how to better deal with changes and how to anticipate and expect them.

In summary, this book can be of great value to both experienced and inexperienced project managers. It is bundled with a CDROM containing all MS Powerpoint slides of every figure, and a trial edition of MS Project 2002.

Discuss book in the Saloon More info at Amazon.com

 
The Bunkhouse administrator is Ankit Garg.