It's time again to open up your developer's toolbox and make room for the new must-have tool, virtual machines. As a software consultant, I find myself traveling from customer to customer and constantly working in new development environments. As interesting as that is, a new environment means installing and configuring new tools. Inevitably, a tool install or uninstall fails, I remove a piece of software that I end up needing again later, different versions of tools conflict, or I just plain screw things up. Since my development laptop is my only laptop, wiping out and reinstalling the drive is not a fun task.

Enter virtual machines. Virtualization technology has come a long way in the past few years, and hardware is now fast enough to make a virtual machine feasible for interactive development. Virtualization software, such as Microsoft Virtual PC or VMWare Workstation, allows you to run another complete operating system—a virtual machine (VM)—in your current operating system. Although virtual machines have been gaining popularity on the server side recently, their growth on the client side has been limited—especially in a development environment.


[More]