Software development on home workstation or VM?

SunnyD

Belgian Waffler
Jan 2, 2001
32,675
146
106
www.neftastic.com
I kindof want to get an opinion from folks who use the same machine for both software development and general home use/gaming. Are you guys installing all the dev tools locally on the machine along side everything else? Or are you guys using VMWare/Virtual PC to sandbox your development environment?

The main thing I can see for the latter, you don't take a memory and performance hit from things like SQL Server, etc running in the background unnecessarily.

Just curious.
 

Atheus

Diamond Member
Jun 7, 2005
7,313
2
0
I do have dev tools on my main PC, but I also have a separate server box which runs apache/mysql for testing, as well as storing and serving my files. This is not good for windows based web projects, but I don't like asp anyway, so I don't care. On the occasions when I'm forced to use it I get the client to set up their own dev server - not ideal I know, but better than running IIS, MS SQL server etc on my box.
 

AmigaMan

Diamond Member
Oct 12, 1999
3,644
1
0
I know a guy who runs XP on a brand new laptop with Ubuntu Linux running in a VMware instance. He says it works pretty much at full speed and hasn't seen any slowdowns. He and I are both Java developers running Eclipse, Weblogic, and Apache. I believe he has 2GB installed. Apparently Linux running in a VM on XP works better than the other way around. Sleep, hibernate, wireless, etc. all work just fine for him.
 

Zap

Elite Member
Oct 13, 1999
22,377
7
81
My Java midterm #2 is just two days away... second course in a two course sequence. I use Eclipse and just have it running on my computer, or use the school's Linux boxes with Eclipse (Gnome/Debian, on some Dell boxes). I'm doing pretty simple stuff though. Worst thing that could happen is that I'll have to kill a task.
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
If I'm doing database work I usually put it on the same machine, might put it on separate hardware if it's around. If it's on my machine it's always shutdown when I'm not using anyway so it takes up less resources than a vm. I've used vmware a lot at work for testing but that was a gsx server with 20+ virtual machines so it was intolerably slow.

The most I've done on one machine was eclipse, jboss and sql server with 1gb. That got a little nuts while running 2-3 instances of jboss to test clustering, especially when you try and run a build at the same time :p
 

Jaxidian

Platinum Member
Oct 22, 2001
2,230
0
71
twitter.com
What I think is optimal is varies slightly based on whether or not you use a laptop for development. With a desktop, I'd prefer to go dual hard-drive and use the second hard drive for VMs and with a laptop (unless you have one of the very rare laptops that can house 2 internal hard drives) use an external hard drive for your VMs.

Sure, you'll lose a little bit of performance by developing in the VM but you'll gain a LOT of utility and safety and potentially save yourself a LOT of time.

I'd recommend buying a single HDD per big project (perhaps share one for smaller ones) and make sure it's a 7200 or 10k rpm drive. When you're done with the project, take that hard drive and just store/archive it. This way if you ever go back on that project again, you already have your entire development environment setup, working, and ready to go.

As for setting up these VMs, you could always take a snapshot of a partially setup and relatively clean VM and base all future VMs off of that one. This will also save you a lot of time setting up your dev environment for future projects.

The last benefit which is probably the most obvious is that your dev environment isn't dependent upon any machine configuration. As long as you properly backup your VMs, you should spend trivial time recovering from a complete hardware failure. If you need to upgrade hardware or whatever, fine, all you have to do to keep your dev environment going is move your HDD from one machine to the other. And the greatest thing imo is that this means you can install whatever you want on your host machine without worrying about it interfering with your VM. For me, that means I can install games on my dev laptop. :D

This is my $0.02 worth.

-Jax
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
Well, I code (professionally) in a VM under Linux and have no problems developing/testing my Win32/VBA/Office apps.

If I had Windows I may consider using a VM if I needed services running. My work doesn't involve servers, so installing Visual Studio side-by-side with, say, Wolfenstein, isn't going to be a performance problem since VS is not using cycles when it's closed.
 

AllGamer

Senior member
Apr 26, 2006
504
0
76
I keep all my works on my VM machines

Also all my important Personal items (separate VM machines)

the Host machine is strictly reserved to host VM machines, TIVO and GAMES! :D
 

tfinch2

Lifer
Feb 3, 2004
22,114
1
0
I don't code on my home PC, period.

If it's for school I'll use SSH. If it's for work, I'll use my work laptop.