I've been thinking about this for a while now, and last friday I decided to make a development environment inside a Virtual Machine, in my point of view it has more advanges than disadvantages.
Actually I'm working most with Delphi 2006, and if you already used it, you may know that this thing is a memory eater like nothing else, and also it sucks out a lot of cpu power (maybe it has a folding@home client running inside it, because I've always wondered why it needs so much cpu power to make autocomplete works, but anyway...).
So the main concern of most people is the application performance when running inside the Virtual Machine, I'm not going to lie, it isn't 100% the speed of a native operating system running on real hardware, but it is, believe me, a lot faster than you may think.
But I'll leave the speed for a later post because I didn't have enough time to work on it to see how it really performs on a real coding routine, but for now I'll leave the first impressions and the pros and cons (in my opinion) about having a development environment inside a Virtual Machine.
1 - Very easier to backup up a full working environment, so if you screw up, or have some hardware failures, you can go back to work in no time.
2 - Transportable, you can always carry your Virtual Machine inside a portable Hard Drive and work from any computer.
3 - You can share it with your co-workers, if someone needs to work on your project, but doesn't have the tools, components or whatever it needs to compile installed, you can just hand him a copy of your VM and he will be able to begin working instantaneously.
4 - Safer, if use your VM just to work with the tools you need, and don't install any crap you find on the internet on it, it will be harder to screw it up, because most people are always installing a lot of crap they find on the internet on their pcs, and it can fuck up everything.
1 - You will need a fast pc, with at least 2GB of ram, and the VM will most likely eat half of it.
2 - It is a bit slower than native OS on real hardware.
3 - It uses a lot more disk space, because you will have to install windows or whichever OS you use in the Virtual Machine, and it uses a lot of space.
So, if you have a similar experience, or think I'm just talking bullshit, post a comment, so I can learn more about it and be sure I'm doing the right thing, because what I want with this is to have a safer work environment which I can be sure that will always be available, and will save me of the headache that is installing everything from scratch over and over again.