|
|||||||||||||||||||||||||||||||||||
|
15 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
17 of 17 people found the following review helpful:
5.0 out of 5 stars
An Ambitious Language/Programming Tutorial that Delivers,
By
This review is from: Agile Java™: Crafting Code with Test-Driven Development (Paperback)
Pity those of us who try to teach people how to program. Thirty years ago, everyone was a beginner. Ten years ago, everyone wanted to program because it was the hottest way to make money (remember? Learn Java, move to Silicon Valley and make millions). Each year, the background and experience of the set of people who want to learn more about programming gets wider and more diverse. There are people who've tinkered with computers since they were kids, people who learned by the seat of their pants in industry; and people who've learned in school.
Jeff Langr's book, Agile Java, is significantly different and significantly better than most programming/language tutorials that have been written. One major difference is its sheer ambition. When you read this book, you'll learn the elements of Java (not just basic syntax but deep guru advice on why and why not to do things in particular ways), you'll learn the Java 1.5 extensions, and you'll also learn Test Driven Development (it is woven into the style of the book and explained throughout). A book this ambitious could've easily failed on any of these fronts, but Langr pulls it off because of his in-depth knowledge in all three areas and clear, lucid writing style. I recommend this book for anyone who has a bit of programming experience who wants to get a leg up by learning Java and TDD simultaneously. The book is also a very informative read for much more experienced programmers. Agile Java contains a lot of good programming and testing advice, and experienced programmers will find that Langr's take on the fundamentals of programming may help them see things in more productive ways. It is a very good snapshot of the state of best programming practices today. Agile Java is a great way to learn and relearn Java programming. And, given the rate of change in the industry, we all need to relearn programming periodically to be as effective as we can be.
12 of 12 people found the following review helpful:
5.0 out of 5 stars
fantastic,
By
This review is from: Agile Java™: Crafting Code with Test-Driven Development (Paperback)
This book is a fantastic primer to not only the java language, but to agile methods and junit as well. The author does a great job of introducing many concepts in a way that is easy to digest without being slow. However, seasoned java programmers may get frustrated with the early chapters that speak to basic java while introducing the bread and butter of junit. This is only for the first 150 pages or so. The information and lessons on refactoring, best practices, and junit are well worth it though. The best part of the book is the author's style. He does not speak down to the reader with overly high vocabulary, or with an "I am all knowing" attitude, but rather he uses a conversational tone with an emphasis on making the topic clear concise and to the point.
12 of 12 people found the following review helpful:
5.0 out of 5 stars
Unique focus on unit testing during your learning...,
By Thomas Duff "Duffbert" (Portland, OR United States) - See all my reviews (VINE VOICE) (TOP 500 REVIEWER) (HALL OF FAME REVIEWER) (REAL NAME)
This review is from: Agile Java™: Crafting Code with Test-Driven Development (Paperback)
It's getting more and more difficult to do Java books that offer anything that's unique. But Jeff Langr has succeeded in finding a niche with Agile Java (Prentice Hall). It's a book I could definitely recommend...
Chapter List: Introduction; An Agile Overview; Setting Up; Getting Started; Java Basics; Strings and Packages; Class Methods and Fields; Interfaces and Polymorphism; Inheritance; Legacy Elements; Exceptions and Logging; Maps and Equality; Mathematics; I/O; Reflection and Other Advanced Topics; Multithreading; Generics; Assertions and Annotations; Swing, Part 1; Swing, Part 2; Java Miscellany; An Agile Java Glossary; Java Operator Precedence Rules; Getting Started with IDEA; Agile Java References; Index The basics of the book are pretty good. You have fifteen "lessons" that cover the material in the book, as well as three bonus lessons on Swing and other miscellaneous subjects. I really like the way he takes a single example (a student information system) and uses that throughout the entire lesson material. It gives good continuity and you don't have to readjust your focus for each lesson. The exercises at the end of each lesson follow a different example all the way through (a chess program), so you have a couple of different ways to learn, but it remains consistent throughout. He also doesn't try and cover absolutely everything in the Java universe. He picks the important stuff you need to know and realizes that you'll have to get the rest of the stuff on your own. This means that the book is approachable and doesn't become another 1500 page doorstop. The uniqueness in the book comes in with the "Agile" part of the title. Agile methodologies, like extreme programming (XP), are lightweight in nature and don't require that every last detail be spec'd out before starting the coding. There's a large emphasis placed on testing with tools like JUnit in order to prove that changes in the code don't break anything. With the test framework in place, you can also focus on refactoring your code without fear of introducing unknown errors. Langr shows early on how JUnit tests need to be integrated into your code, and that follows through the entire book. As a result of that and of using a single example, there are plenty of opportunities to refactor your code and then to use the JUnit test to make sure everything still works. This slant on Java coding is something you rarely see integrated into the process of learning Java, and it's probably long overdue. Even without the focus on unit testing and refactoring, it'd be a decent tutorial book. With that focus, this book becomes a recommended tool to use to learn Java. Good job...
11 of 11 people found the following review helpful:
5.0 out of 5 stars
A Great Way To Learn Java,
By 80/81 (West of Boston, MA) - See all my reviews
This review is from: Agile Java™: Crafting Code with Test-Driven Development (Paperback)
Don't just learn Java, learn how to write solid Java code.
I teach Java in a continuing education program that is part of the University of Massachusetts. I will be using this book in my future classes. Here's why: It is pretty easy to learn the basics of Java. Sun provides a free tutorial that's good. (http://java.sun.com/docs/books/tutorial/), and there are a literally tons of Java books out there too. While one of the strengths of Java is that is pretty easy to get started with, it is much harder to do right. What makes this book stand out is that that it tries (and succeeds) at doing more than just teach Java. It teaches an important methodology too - how to test your code as you are writing it. This is an important aspect of writing good Java code, and one that I can't over emphasize when teaching it. It is just as important as learning the language itself. The particular methodology used in this book is called Test Driven Development, but I don't think that's so important to someone just starting out. What's important is to learn the value of unit testing from the start, and this book does that well. The book uses the JUnit framework and ANT from the start. Both of these tools belong in any Java programmer's tool kit. They go hand and in hand with the Java language. It is great that they are presented in a context targeted for novice programmers who want to learn Java. These are real world skills that are often over looked in more academic approaches to teaching Java. Yet, they not only make you more productive with Java, but they can make using it more fun too. See (Unit Test Infected: Programmers Love Writing Tests http://junit.sourceforge.net/doc/testinfected/testing.htm) Other things that make this book strong include the author's writing style. It is clear, concise and refreshingly informal. No stuffed shirts here and you won't end up needing an extra cup of coffee to get through it. The books organization is also well tailored to learning Java (as well as teaching it). Each chapter builds on the others but each is also a self contained lesion with useful exercises. I understand that there's a teacher's version of the book available as well. It is also useful that the book covers the recently released Java 5, so it will stay concurrent for a while. In short, I think this will end up being a wonderful teaching aide. Anyone who has to teach an introduction to Java course should strongly consider this book. However, the book really stands alone and does not need to be part a course setting to be accessible. In fact, using this book, I wonder what will be left to lecture about. (I am sure I'll think of something...) I'd recommend this book to anyone wanting to learn Java or to anyone who wants to learn how to write good Java code. I think this book, along with Joshua Bloch's Effective Java Programming Language Guide [...] should be required reading for any attempting to learn Java.
14 of 15 people found the following review helpful:
5.0 out of 5 stars
Best book for learning Java,
By
This review is from: Agile Java™: Crafting Code with Test-Driven Development (Paperback)
This is a wonderful book and should be your first choice if you are learning Java. Or if you already know Java and want to learn more about it and see lots of great example of "agile source code."
What I like about this book is that it addresses a fundamental problem in otherwise very good books such as Deitel's "Java: How To Program" and Eckel's classic "Thinking In Java." This book combines solid instruction in Java programming with a truly agile view of how to develop the source code. Significant (yet still small) examples are built in a test-driven manner, which serves to reinforce and instill the idea that this is the right way to write code. In talking with friends I've been saying for a few years that test-driven development is great but that it will really start to have an impact when it is part of how programmers first learn to program rather than a new technique they learn as it is now. To achieve this, new programmers need a book from which they can learn how to write code and that writing a test first is the best way to do this. Langr has written that book. Highly recommended.
12 of 13 people found the following review helpful:
5.0 out of 5 stars
THE BEST JAVA BOOK EVER WRITTEN,
By
This review is from: Agile Java™: Crafting Code with Test-Driven Development (Paperback)
finally, a book that teaches java and how to program with the help of a set of invaluable tools (Ant, JUnit, etc.) that will be used everyday in real life. the author really goes beyond just teaching java by coding with Design Patterns and showing complete examples of how they can be implemented.
the book even prepares you for learning EJBs in a way that no EJB book ever did. i've read a bunch of EJB and Java books, and this book is THE BEST JAVA BOOK EVER WRITTEN. you may not see any direct references to EJBs but they author actually shows the code that can be used to implement EJB technology using multithreading, reflection and design patterns. it's surprising the amount of java books there are out there that all "teach" the exact same thing - core java (not very useful) - in a very obtuse manner. this type of theory based teaching didn't really "stick" in my mind because it doesn't make for an interesting read. this book does away with that boring theory and walks you through a case-study by providing lots of details; all the while teaching the principles of TDD very efficiently. this book starts you off in the correct direction. it teaches you how to code java in a maintainable, and reusable way, and most importantly it shows you how to do it using test driven development. TDD is an invaluable skill that programmers of all levels should have. all other books merely talk about the power of code reusability, but this book actually shows you how to do it the right way (with tools like Ant, and JUnit). an absolute must have for beginners and intermediate programmers who may be unsure about what to learn or where to begin. (again) the best java book ever written. 5 WELL DESERVED STARS
7 of 7 people found the following review helpful:
5.0 out of 5 stars
Finally, a book that teaches java better than Eckel's work.,
By
This review is from: Agile Java™: Crafting Code with Test-Driven Development (Paperback)
If you've been lamenting the fact that there seem to be no good introductory texts on Java, lament no longer! If you want to learn Java, or programming, or test driven development, you found the right book. In fact, Jeff teaches all three at once with a combination of excellent writing, small steps, and an introduction to creating code that exists in harmony with an extensive test suite - making it easier than ever to write the code itself, and having the tests (which usually never get written) *already* written when development is complete. Once you've tried it, you'll never go back - test infected forever.
[ disclaimer: I wrote the exercises for this book, and reviewed initial drafts. I was quite excited to be part of it, even though I receive no monies from it - and it really is a great teaching/learning tool for Java. ]
7 of 7 people found the following review helpful:
5.0 out of 5 stars
Great whether you're learning Java or TDD,
This review is from: Agile Java™: Crafting Code with Test-Driven Development (Paperback)
This book is primarily for new programmers who want to learn Java as their first programming language. The book can also be helpful for programmers familiar with test driven development (TDD) but new to Java, or vice versa. I am an experienced Java developer, and I found that going through Agile Java presented me with a new and better way of approaching Java code development. This book covers Java 2 Standard Edition (J2SE) version 5.0, but covers only a few of the additional APIs at an introductory level. Technologies that are used pervasively in the majority of enterprise applications, such as logging, JDBC, and Swing, are presented in Agile Java. Some of the information, such as that on logging, will teach you all you need to know for most purposes. Other lessons, such as those on Swing and JDBC, will give you a basic understanding of the technology and will tell you where to go when seeking further information.
The core of Agile Java is fifteen lessons of about 30 pages each. It starts with baby steps in Java, TDD, and OO. The book finishes with a strong foundation for professional Java development. The core lessons should be read sequentially since each lesson builds upon the previous ones. Once you have completed the core lessons, you should have a solid understanding of how to build robust Java code. If you haven't completed the fifteen core lessons, you should not assume you know how to write good Java code. Each of the fifteen core lessons in Agile Java has you build bits and pieces of a student information system for a university. This single common theme helps demonstrate how you can incrementally build upon and extend existing code. Each lesson also finishes with a series of exercises. Instead of the student information system, the bulk of the exercises have you build bits and pieces of a chess application. Some of the exercises are involved and quite challenging, but they are where learning the methodology really begins. There are three additional lessons to cover a few more Java topics. Two of the lessons present an introduction to Swing. These two lessons will provide you with enough information to begin building robust user interface applications in Java. But the bigger intent is to give you some ideas for how to build them using TDD. The third additional lesson presents an overview for a number of Java topics that most Java developers will want to know such as JARs, regular expressions, cloning, JDBC, and internationalization. I really liked how the author integrated the three concepts of Java programming, TDD, and object-oriented design without confusing matters. The book is very clear with good illustrations. I highly recommend it. The following is the table of contents: Lesson 1. Getting Started Lesson 2. Java Basics Lesson 3. Strings and Packages Lesson 4. Class Methods and Fields Lesson 5. Interfaces and Polymorphism Lesson 6. Inheritance Lesson 7. Legacy Elements Lesson 8. Exceptions and Logging Lesson 9. Maps and Equality Lesson 10. Mathematics Lesson 11. IO Lesson 12. Reflection and Other Advanced Topics Lesson 13. Multithreading Lesson 14. Generics Lesson 15. Assertions and Annotations Additional Lesson - Swing, Part 1 Additional Lesson II. Swing, Part 2 Additional Lesson III. Java Miscellany Appendix A: An Agile Java Glossary Appendix B: Java Operator Precedence Rules Appendix C: Getting Started with IDEA Agile Java References
4 of 4 people found the following review helpful:
5.0 out of 5 stars
Great Book,
Amazon Verified Purchase(What's this?)
This review is from: Agile Java™: Crafting Code with Test-Driven Development (Paperback)
I've gotten about 6 chapters into this book and I love it. I've been developing Java for almost 7 years and am currently teaching myself Agile principles and this book comes as a great help.
3 of 3 people found the following review helpful:
5.0 out of 5 stars
Don't Let the Title Fool You,
This review is from: Agile Java™: Crafting Code with Test-Driven Development (Paperback)
This is my new favorite-book-to-give-to-anyone-who-is-learning-or-using-Java.
The title is misleading in that this book is about much more than just the Agile Programming stuff. While it does a great job talking about Agile techniques and always starts by creating a unit test, the book really is about all aspects of Java (specifically Java 5) programming. Anyone who takes the time to work through the examples will become a much better Java programmer. OO patterns, collections, type safety and more are covered and explained in the context of a rich, in-depth example. And because the author has you construct a high-quality test suite around the example, you are free to experiment with different ways to implement each new feature - thus proving to yourself the benefits of Agile design. 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. |
|
Most Helpful First | Newest First
|
|
Agile Java™: Crafting Code with Test-Driven Development by Jeff Langr (Paperback - February 24, 2005)
$59.99 $43.94
In Stock | ||