Sign in to follow this  
Followers 0

development environment

23 posts in this topic

Posted

When you guys develop using for example, Visual Studio or MS SQL server, do you do it directly on your system or use a vm specifically for that?

Share this post


Link to post
Share on other sites

Posted

I install it directly. If you're targeting a different version of Windows that supports only older libraries you can just set up the project to target them instead.

Share this post


Link to post
Share on other sites

Posted

Depends on how much you need/use it really.  Personally I have a couple Windows Servers here, one has MSSQL on it already so no need here, plus I use VS2013 pretty much daily for work (among other tools), so that's a "real" install for me obviously.  The IDE lets you target different versions of the platforms as needed too so it's not like you have to for backwards compatibility.. of course if you're using Windows 7 and you need to target Windows 8.x, then a Windows 8 VM will be required.  But if it's just something for curiosity's sake or a once-and-done thing or just not sure if you want to use it, a VM wouldn't be out of the question sure.  Both are rather large, shoot my documentation library alone is pushing 7GB.. if you decide later you don't want/need it cleanup is that much easier.

Share this post


Link to post
Share on other sites

Posted

For me, it depends.

The actual environment I use for writing code I'll install directly. So Visual Studio, Eclipse, and such all get installed locally.

I do tend to virtualize my testing environments though. I don't enjoy the idea of having a full WAMP stack running when I'm writing my web code, nor do I want the ton of dependencies that come with it. For that, I'd rather just set up a sandbox emulating a production environment. That way, when the test environment needs changing, I can isolate my changes to inside the VM, and when I'm finished entirely with a test environment, delete the entire virtual machine. I also have much more fine grained control over the test VM, such as designating the amount of RAM or number of CPU's it can use.

Share this post


Link to post
Share on other sites

Posted

I usually virtualise stuff, so that I can experiment with crap without messing up my local install. Each VM has dev and staging config, with (most of my work is in python) different virtualenvs for each.

Share this post


Link to post
Share on other sites

Posted

For server based apps, I prefer to virtualise the environments. It's better to run a development configuration that is similar to production. Plus virtualisation has a bunch of advantages. VMs are portable/shareable, you don't need to pollute your workstation OS with stuff that you need for one project but not for another, you get snapshots and rollbacks, you can reinstall your workstation OS / move computers without losing your development configuration etc. etc.

 

For client apps, it's usually just a matter of installing an IDE, cloning the repo and I'm good to go. No need to virtualise the development environment there.

Share this post


Link to post
Share on other sites

Posted

depends.. 99% of it is native on windows.  Though I do some mono-develop/c++ on a virtual debian install.

Share this post


Link to post
Share on other sites

Posted

Let's say I'm still in the learning process and working on a single project; mainly XML and SQL, recommended that I create a vm for that?

Share this post


Link to post
Share on other sites

Posted

Hello,

When you guys develop using for example, Visual Studio or MS SQL server, do you do it directly on your system or use a vm specifically for that?

You develop things using VS. MSSQL (GUI) is used for queries and not much else.

I do it locally.

Share this post


Link to post
Share on other sites

Posted

Let's say I'm still in the learning process and working on a single project; mainly XML and SQL, recommended that I create a vm for that?

 

do it locally.. better than trying to deal with vm's.  

Share this post


Link to post
Share on other sites

Posted

Let's say I'm still in the learning process and working on a single project; mainly XML and SQL, recommended that I create a vm for that?

 

Locally will do.

Share this post


Link to post
Share on other sites

Posted

To my knowledge, most of the developers I work with develop on their laptops and test virtually.

Share this post


Link to post
Share on other sites

Posted

I prefer to develop in a VM, even if the VM OS is the same as my native OS. Makes life a lot easier.

Share this post


Link to post
Share on other sites

Posted

I prefer to develop in a VM, even if the VM OS is the same as my native OS. Makes life a lot easier.

 

How so? (Not judging, just curious).

Share this post


Link to post
Share on other sites

Posted

How so? (Not judging, just curious).

I like clean, separate environments. Once I setup an environment for VS2013, I'll take an image of it. That will then be my base environment. If I have to do work on a different project/client, and I think a clean environment would benefit, I'll just create a VM from my base image. 

 

Sometimes I'll have projects that have strange dependencies on garbage products. Instead of polluting my machine with them, I'd rather just create a VM for it. I don't have to worry about conflicts or issues caused because that was installed on my machine and it wasn't installed on a test machine. 

Share this post


Link to post
Share on other sites

Posted

I like clean, separate environments. Once I setup an environment for VS2013, I'll take an image of it. That will then be my base environment. If I have to do work on a different project/client, and I think a clean environment would benefit, I'll just create a VM from my base image. 

 

Sometimes I'll have projects that have strange dependencies on garbage products. Instead of polluting my machine with them, I'd rather just create a VM for it. I don't have to worry about conflicts or issues caused because that was installed on my machine and it wasn't installed on a test machine. 

 

All good points. Do you find it significantly slower than running your environment on the host (rather than on the VM)?

Share this post


Link to post
Share on other sites

Posted

All good points. Do you find it significantly slower than running your environment on the host (rather than on the VM)?

I was wondering the same.

 

But he's a developer. But me I'm doing it to learn, so probably I'll go local. I already installed Netbeans because I'm working on a project in java.

Share this post


Link to post
Share on other sites

Posted

For the sake of keeping my dev environments manageable (I have many, from VS 2005 to 2013), I use VMs extensively.  Even though MS has done a good job in the last couple of years allowing you to run things side-by-side, I find it's much, much preferable to keep things isolated.  I've been earning a living as a full-time software developer for over 20 years now, and I've learned many painful lessons and have done countless reinstalls as Windows itself has evolved...I'm NOT moving back to installing anything on physical hardware.  That, and a good source control system (another dedicated VM), lets me get back up and running within minutes.

 

If my hardware dies (last year I've had to replace a motherboard), reinstalling the host OS can be done within 20 minutes.  I literally have nothing else running on the host, except maybe for some custom motherboard drivers to provide better performance.  I don't bother backing up the host OS.  From that clean state, getting a VM going again is just a matter of creating a new one from scratch and then pointing it to the existing VHD, and everything is fully functional again.  For all intents and purposes, the guest OS remains oblivious to any physical hardware change.

 

While this may sound like overkill for a hobbyist, I'll still maintain that it's far preferable to keep a host OS clean, and leave trialware and other such junk to VMs you don't care about.  The same goes for any large app that pukes all over your drive, such as VS and SQL, and leaves behind tons of files when you uninstall it.

 

As an aside, purely for the sake of discussion...nowadays multibooting is dead (even though I've done it for years), unless you have some very specific need to access the physical hardware.

2 people like this

Share this post


Link to post
Share on other sites

Posted

All good points. Do you find it significantly slower than running your environment on the host (rather than on the VM)?

It really depends on the machine and project. I have a pretty beefy machine (SSD, 16GB RAM, multi core CPU) so the penalty isn't too bad. If your solution is huge, though, you may notice issues. I would just take it case by case. 

Share this post


Link to post
Share on other sites

Posted

These days, I do development on Linux almost exclusively. For recording of performance data that I intend to keep I have to use native environments exclusively. I do have a virtualized Linux sitting around which I use off and on for things.

 

EDIT: worth noting that there is no IDEs involved with anything I do. It's grep, vim, and remote npp. 

Share this post


Link to post
Share on other sites

Posted

I generally keep most recent version of VS on the host machine. SQL Server is always on the host machine, never in the VM.

 

For clients, I always maintain VM for the major projects (>$25K). Each time I successfully release a product that has any environmental change (i.e. .Net Framework, Components Upgrades etc..), I archive that VM.

 

I have a base VM with W7, W8, Server 2012 and then another base with VS installed onto them.

 

.

.

.

 

Now comes the fun part. I keep 2 identical portable disks to carry the most common VMs I use. The laptop has 512GB SSD, 16GB RAM which helps me run 2-3 VMs quite smoothly.

 

 

P.S. Wish Apple would allows us to have a Mac OS on a non Mac hardware, at least on a VM. I understand them selling the hardware but but but.... Ah never mind.

Share this post


Link to post
Share on other sites

Posted

i like to use a vm, that way i don't screw up my system with hundreds of versions of software..

 

but that's just me :)

Share this post


Link to post
Share on other sites

Posted

P.S. Wish Apple would allows us to have a Mac OS on a non Mac hardware, at least on a VM. I understand them selling the hardware but but but.... Ah never mind.

 

As long as you've paid for the OS, there's nothing illegal about running a Hackintosh, and Apple know it.  It's merely against the terms of the EULA, which is not a legally binding document.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.