views:

675

answers:

7

Hi Everyone,

This has been troubling me for a few years, and was recently exacerbated by the introduction of Windows Vista (driver requirements & UAC restrictions being major factors).

There are many different flavours of Windows Vista (compared here), and there are also the alternative options (running Windows Server as a workstation) but for the life of me I don't know which is the best choice for a development workstation.

Vista is a pain to use as a development environment (for many reasons I don't want to go into here), but the alternatives also have some serious drawbacks as well.

Windows Server 2008 makes a logical choice, but requires a lot of extra configuration and tweaking (not to mention it's obviously not designedd for high end graphics or other development machine requirements).

The question is: what is the (current) preferred Microsoft operating system for MS platform development? ..or alternatively, why is there no "Developer Edition" for Vista?

Personally, I use Windows Server 2008 but I've seen a lot of developers sticking with Windows XP and more than a few using Vista. Obviously some development (e.g. DirectX) really has to be done on XP or Vista.. but for the standard WinForms/Web and server development work what would be the gold standard?

What do you use (if you're using an MS operating system) and why does it work for you? What did you consider as an alternative?

+2  A: 

I use Windows Vista Professional. I develop in Visual Studio 2005 and 2008 and when I run them as administrator it seems to work fine for me.

J W
+3  A: 

Use what you are most comfortable with. There's no single answer to this because it varies according to:

  • What type of software you are developing
  • Personal preferences
  • Tolerance for pain

Besides, if you write software to run in XP, Vista and Server you'll still have to test it in all those platforms.

I personally use both XP and Vista and have had no troubles, but when I do Windows I do nothing very special (plain .NET winforms, some remoting maybe, DB access, not much else), so I haven't noticed big differences. On Vista I run VS 2008, applied a patch and haven't had any trouble running it as my local user account (it's Ultimate though). On XP I use 2005 and it also works without problems.

Vinko Vrsalovic
A: 

The machine where you're typing in code and doing compiles should be a machine where you're comfortable typing in code and doing compiles. That's likely to be a server machine with suitable tweaks, or an XP machine with suitable tweaks.

The machines where you're testing, maybe using Visual Studio there too but more along the lines of setting breakpoints and examining values of objects, need to be every kind of machine and configuration that your customers are going to use. It doesn't matter if you're comfortable using those systems, you need to see what your customers are going to see. XP AND Vista (all varieties). Limited user AND administrator. And server systems if that's your market.

Windows programmer
+1  A: 

I don't do any development on my Vista laptop as I try to avoid clutter it with half baked VSTO add-ins and similar stuff. Instead I run some 10 different virtual machines (XP with IE 6/7/8, some Vista variants, a clean 2003 server, 2003 service with Wss, 2003 with MOSS and so on. So far that approach works very well as long as I have 4 GB ram and the VMs is on a seperate harddrive.

Kasper
+1  A: 

I use vista ultimate, with no particular pain.

Run both VS 2005 and 2008 as admin, primarily do web stuff. All the real testing gets done on whatever the deployment target is, stack of VMs in testing box. I keep an XP image handy on main box in case I need it.

No particular problems with vista if you have enough horsepower to feed it.
Seems to crash less than XP, can't remember the last time I had an OS crash.
Boot time a bit sluggish, but in fairness have at least a TB more drive space than when I was using XP, and is a good time to make coffee.

I just got sick of looking at XP after all those years, and wanted something different.

seanb
A: 

I'm using Windows Server 2003, mostly because of the included IIS 6 - it makes my life a lot easier for testing the application in a environment much like the production server. Also, you can easily test your web parts/features with a local instance of Sharepoint (WSS or MOSS) if needed.

alexandrul
A: 

I use XP pro and Vista Ultimate. Vista seems fine to me if you turn off uac although I know a number of developers that develop with it on. There was something that came out recently (might have been a card space preview but not sure?) that would only run on vista.

There is a difference about how some framework elements will work in XP and vista. For example some code to write to an event log will work fine in XP but in Vista will not unless you set up the permissions correctly to create the event source etc. At first this irritated me that it didnt function the same but then if you think about it why should an application not need permission to write to event log.

Although MS have been "fairly" good with supporting XP etc (apart from the example above I cant think of something that doesnt work on both) but it seeems likely that if you want to develop with some of the newer features then you will need a newer OS. XP is a good os and I dont want to start a vista bashing session but XP is now about 8 years old.

alexmac