Agile Java

Agile Java, by Jeff Langr, provides a modern introduction to professional software development. Agile Java was published in February 2005 by Prentice Hall PTR. This code-intensive book of over 750 pages teaches Java as a high-discipline craft, using an object-oriented (OO) and test-driven approach from the ground up. The book demonstrates and uses the latest features of Java 2 version 5.0.

A solutions manual is available for qualified instructors. Contact Jeff Langr for further details. View Review links / excerpts, Errata, and Source.

Agile Java

Quotes / Reviews

Some of the comments from Amazon (including comments from and

  • “a wonderful book and should be your first choice if you are learning Java.”

  • “a fantastic primer to not only the java language, but to agile methods and junit as well.”

  • “an absolute must have for beginners and intermediate programmers who may be unsure about what to learn or where to begin.”

  • “Finally, a book that teaches java better than Eckel’s work.”

  • “I think this book, along with Joshua Bloch’s Effective Java Programming Language Guide should be required reading for any attempting to learn Java.”

  • “is significantly different and significantly better than most programming/language tutorials that have been written.”

  • “…a ten-star work of art aimed at software engineering students learning Java.”

  • “… the thing that really sticks out for me in this book is the way the book tackles three things aspects of program development together… Fantastic!”

  • “Auf 700 Seiten (+Anhang) wird eine exzellente Einführung in Java geboten.”

  • “This is a great book. … The genius of Agile Java is that it’s immensely practical, with plenty of tips and advice. It’s also very well written, not dry and textbook-like at all. … Highest recommendation.”

  • “…loving it. Best book on TDD I’ve seen, and a wonderful way to learn a language.”

  • “Excellent! …Clear, concise, and occasionally humorous. A pleasure to read! … thanks to Agile Java, I feel secure in my current understanding, and confident in my ability to write elegant, professional looking code.”

  • “This is my new favorite-book-to-give-to-anyone-who-is-learning-or-using-Java. … Just like it says in one of the quotes on the cover, this book is now required reading for the Java programmers at our company.”

  • “It is now the only book I recommend to beginners and I introduce it as a ‘must’ read for all my new hires.”

  • “This book is a superb introduction to Java and TDD. The author takes the courageous approach of introducing objects and unit tests right from the start, rather than the traditional approach of covering ‘procedural Java’ first. The clarity and organization of the material is first rate, as is the gradual inclusion of real world issues.” (

  • “I found this book to be an excellent text when learning TDD. … I would recommend this book to anyone who is begining in Java…. As for more experienced developers, I think the book is worth a read and you can read it in a short space of time due to simple writing style.”

  • “With Agile Java, JUnit comes alive in the hands of the developer. It’s a joy to test and refactor code that looks good and is good.”

Blog/web references:

  • “Thawing to Java,” Mark Aufflick

  • “Craft, culture, and communication,” Archimede’s Lever. “Last weekend, I picked up a great book, Agile Java: Crafting Code with Test-Driven Development… There are maybe half a dozen books that any serious developer recognises as landmark events in the advancement of her or his craft. This, ladies and gentlemen, is one of them.”

  • Dr. Fausto Iannuzzi,” Agile Java “è un ottimo libro per imparare la programmazione Agile in Java e l’approccio TDD (Test Driven Development).”

  • “Code Coverage Lessons ,” Tony Obermeit. “A favourite book of mine [is] Agile Java…”

  • “Learning Java via TDD: An impressive approach,” Binstock on Software. “I recently wrote a review of Java tutorials (before I knew about this book). Despite the many great titles I discuss in that article, if I were teaching a Java class today, this is definitely the book I would use. Bar none. And I don’t even like TDD..”

  • Test Driven Development with Python
    “‘Agile Java: Crafting Code with Test-Driven Development’ by Jeff Langr and ‘Test-Driven Development by example’ by Kent Beck are two books that frankly I believe are ‘must read’ items.”

  • Agile Java by Jeff Langr, Jason Hudgins at “A Blog Called Foo”
    “The aim of this book is to teach the art of java programming using TDD (Test Driven Development), and it does so wonderfully. I would not, however, recommend this book to a first time programmer. If you have some programming experience, and would like to learn Java, then this book wouldn’t be [a] bad choice.”Writing good unit tests is a skill like any other, and that’s the primary reason I picked up this text. Besides from the obvious, Jeff offers great practical advice on coding style and even naming things (the hardest thing in programming!). The book reads like sagely advice from a battle hardened coder, he’s been there, done it, and this is the distillation of what works.”

Miscellaneous reviews:

  • SDForum, review by Dan Dunne. “A fine pioneering book that attempts and succeeds in helping the new Java programmer to learn Java.”

  • Software Quality Professional, review by Ray Schneider. “Agile Java is one of those books that come along only once in a long while.”

  • Note: The following review was removed from Amazon, but can be found in internet cache.
    Excellent!, 2007-04-17
    Reviewer rating: *****
    Langr understands what it’s like to be a beginner, and a professional!
    1. Langr’s book focuses on refactoring and Test Driven Development — not only does this teach you good development practices, it makes the mechanics of the language stand-out, so they are more obvious to a beginner.
    2. Each new concept is introduced in context, and you will integrate it into your code right away. This makes it easy to understand and remember new concepts.
    3. You will work on cumulative programming projects, refactoring out old solutions as you learn concepts that allow you make better ones. This makes the introduction of new concepts feel seamless, and allows Langr to introduce development concepts that would not apply to smaller programs.
    4. The book is clear, concise, and occasionally humorous. A pleasure to read!

  • StickyMinds “Review by Noreen Dettinger.”
    “This book will help me build on the agile knowledge I have gained to date. While I agree with the author’s statement that this is not a Java certification book, I do believe that I have learned some good fundamental techniques and improved my knowledge base. The book has encouraged me to continue down the path to a more advanced understanding of Java, knowledge that I believe I can apply to my advantage when carrying out my responsibilities as a software tester.”