This book doesn't tell you how to write faster code, or how to write code with fewer memory leaks, or even how to debug code at all. What it does tell you is how to build your product in better ways, how to keep track of the code that you write, and how to track the bugs in your code. Plus some more things you'll wish you had known before starting a project.

Practical Development Environments is a guide, a collection of advice about real development environments for small to medium-sized projects and groups. Each of the chapters considers a different kind of tool - tools for tracking versions of files, build tools, testing tools, bug-tracking tools, tools for creating documentation, and tools for creating packaged releases. Each chapter discusses what you should look for in that kind of tool and what to avoid, and also describes some good ideas, bad ideas, and annoying experiences for each area. Specific instances of each type of tool are described in enough detail so that you can decide which ones you want to investigate further.

Developers want to write code, not maintain makefiles. Writers want to write content instead of manage templates. IT provides machines, but doesn't have time to maintain all the different tools. Managers want the product to move smoothly from development to release, and are interested in tools to help this happen more often. Whether as a full-time position or just because they are helpful, all projects have toolsmiths: making choices about tools, installing them, and then maintaining the tools that everyone else depends upon. This book is especially for everyone who ends up being a toolsmith for his or her group.

Matthew B. Doar

Matthew Doar has been a professional toolsmith and software developer for over ten years at a number of different companies. He wrote this book because he was frustrated with the lack of books about how to create good software development environments. He also wrote JDiff, an open source tool for comparing the APIs of different versions of large Java projects. He has a Ph.D. in computer networking from the University of Cambridge.

Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects.Abby Fox was the production editor and copyeditor for Practical Development Environments. Matt Hutchinson proofread the book. Sanders Kleinfeld and Claire Cloutier provided quality control. Johnna VanHoose Dinse wrote the index.MendeDesign designed and created the cover artwork of this book. Karen Montgomery produced the cover layout with Adobe InDesign CS using the Akzidenz Grotesk and Orator fonts.The animals on the cover of Practical Development Environments are goldfish (Carassius auratus). Goldfish can in fact be gold, orange, white, black, blue, brown, silver, bronze, and red. Moderately hardy, goldfish have an average life span of around 10 years. The oldest goldfish on record lived for over 43 years.The early history of the cultivation of goldfish is unclear, but it is generally accepted that by the time of the Sung dynasty (960 1280), goldfish were being bred in China. However, it was not until around 1500 that goldfish first appeared in Japan, and they did not find their way into Europe until the seventeenth century.Marcia Friedman designed the interior layout. Melanie Wang and Phyllis McKee designed the interior template. This book was converted by Keith Fahlgren to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Adobe's Meridien; the heading font is ITC Bailey; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano, Jessamyn Read, and Lesley Borash using Macromedia FreeHand MX and Adobe Photoshop CS.The ichthyographic portion of this colophon was written by the book's author. The word colophon is derived from the Greek kolophon, meaning "summit" or "finishing touch."

I'm the author and the book still works as intended. Each chapter has a section on using software development tools (version control, builds, bug trackers etc). The second half of each chapter refers to tools in each area that were current five years ago, so these parts have aged correctly.

I've run a consulting business for the past four years based around many of the ideas in this book and find that, for the most part, they are working well for my clients.