Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

At what point should I begin upgrading our developer's machines to a later Windows release?

From experience, Microsoft typically has an epic fail about every other O.S. (I am really not trying to start a debate about this, it is my perception let it be) i.e. 2000 was a stable and useful O.S, yet m.e. didn't do well, xp was a great O.S. that many businesses still use, Vista didn't do well (I know that the reason this one didn't do well wasn't really Microsoft's fault and that Vista and 7 are the same major revision), while 7 seems to be an excellent O.S. that will be around for a while--sort of like xp is now.

Anyways, this makes me reluctant to upgrade our development machines to Windows 8.

  • a. I don't want to cost our business a ton of money for an O.S. that will only be used for a year or two.

  • b. They also have to have linux dual boots, and I have read that Windows 8 and grub will not play well together.

I do want our developers to develop in the latest environment and to have a leading edge in any technology they are developing with. I do want to stay ahead of--or at least with--the technology curve, yet I want it to make business sense.

So in particular, should I upgrade their machines at this point? In general, what calculus should I use for deciding this sort of thing?

edit

They do write desktop UI applications as well as ASP.NET applications. Also, I do make sure that they always have the latest release of Visual Studio.

share|improve this question
2  
@kinokijuf Yes, XP was not perfect, but when you compare it to WindowsME? Just sayin' –  LarsTech Jan 30 '12 at 18:56
3  
@kinokijuf one could argue that xp was a good O.S. by 2003 standards--especially compared to previous Windows versions. –  Jonathan Henson Jan 30 '12 at 19:21
3  
WinME was not an upgrade to Win2000; it was the next version of Win9x. One codebase was Win 2.x, Win 3.x, Win9x, WinME. One codebase was NT 3.x, NT 4.0, Win2000, XP, Vista, 7, 8. The two can't really be compared to each other. –  Jay Bazuzi Jan 31 '12 at 6:34
1  
I know it's off-topic, but in what sense was Vista's failure "not really Microsoft's fault"? Out of curiosity. –  Konrad Morawski Jan 31 '12 at 10:48
2  
@Morawski Also, they were blamed for software, that worked on previous revisions, breaking on Vista. The problem wasn't Vista, but that the software was badly written and Microsoft decided to quit backwards-compatibility for software that wasn't written to standards. –  Jonathan Henson Jan 31 '12 at 14:35

10 Answers 10

up vote 36 down vote accepted

Computers are not physical monolithical entities anymore, use virtual machines !

Your developers should be able to access different work environments as they need, and virtual machines are the perfect way to do so, you can :

  • keep a legacy environnement easily accessible.
  • have multiple, independent environments (ex: 1 environment per client)
  • have test environments (ex: windows 8 dev preview).

Any decent laptop nowadays can run a windows 7 VM on top of a windows 7 host environment. It's really nice to be able to switch environment as a developer. The backup/versioning possibilities are also a nice plus.

If you have MSDN subscriptions, you should be able to keep the price of this kind setup not too high considering they are used for development.

share|improve this answer
3  
This is the way to go, you can run Windows VMs on Linux or Linux VMs under windows or whichever. Windows 8 will have HyperV baked in... so the answer would seem (to me) to be to wait for Win 8 to go gold and work from there... –  Murph Jan 30 '12 at 19:03
4  
How does this work with gpu intensive applications? Last time I used VMWare they weren't supported that well. –  Jonathan Henson Jan 30 '12 at 19:23
    
@JonathanHenson : What would you consider a good test for this ? For example I notice a 1 point drop on the Windows gaming graphics rating between my host (6.4) and my VM (5.4) with VMWare Player 4.0.1. I don't know how this can be generalized (and it is certainly highly dependent on the hardware config.), but in my experience, graphics may not be as good as on the host, but it's really not ugly and not slow. –  Matthieu Jan 30 '12 at 20:34
    
Oh, well that's good. It has been a while since I tried. Even then it was a linux box hosting windows. –  Jonathan Henson Jan 30 '12 at 20:38
    
@JonathanHenson we boot-to-vhd - Win7 base, Win8 "guest" but really they both run on the metal –  Kate Gregory Jan 30 '12 at 22:02

Windows 8 isn't even commercially available yet. If you upgrade now, it might be to a beta of questionable stability with features that may or may not make the final cut.

If you can afford it: set up an isolated test developer machine and upgrade that one. Then let all the developers play with it now and then to get used to it and find all the little quirks and and bugs and differences.

share|improve this answer

Is your team specifically developing windows desktop UI applications? If yes, I think you would want at least some of your team to move to Windows 8 as the UI might look different and what not.

If you are developing other types of applications and it doesn't matter as much which version of Windows you are working on, why not just let developers make the choice for themselves? I'm sure each one of them will pick whatever is best/more efficient for them and some will probably end up reloading their OS a few times.

Ask your team. Maybe they don't even care about Windows 8. I'm completely in Microsoft camp as far as programming tools go but will definitely have my own reservations first few months after Windows 8 is released.

share|improve this answer

Seems like you've been able to identify which versions meet your standards and which ones don't, so I wouldn't upgrade until you are confident with the latest and greatest.

You are going to need to stay a little ahead of your customers if they are using Windows to run your desktop software. Several other answers mention ways to allow for multiple environments to test.

I use to ride on the train and saw many corporate laptops (they have those property stickers on them) that are still running XP.

Go with what is stable for you along with what your customers are using. Not sure you can rely on any formula. Let's hope Windows 8 breaks the alternating crappy version trend.

share|improve this answer
1  
"You are going to need to stay a little ahead of your customers if they are using Windows to run your desktop software." Fortunately, we probably have about a year or two until dell and HP start shipping with 8 already installed. –  Jonathan Henson Jan 30 '12 at 15:51
    
@JonathanHenson - Dell and HP will sell Windows 8 machines the day its released. I would estimate that it will before Jan 2013. –  Ramhound Jan 31 '12 at 12:25

You might want to start by giving your developers a VHD with Win8 installed on it and let them start playing with that. I'd hold off on converting any machines until they at least have a release candidate available. I was a beta tester for WinME, Win2K and WinXP and there's a lot that changes, even during the late beta period. Unless you're developing something that takes advantage of Win8's unique features and you need to have it available on Day 0, I'd hold off on a mass migration. VHD boot or VM (if you've got 8G or more of memory) are both pretty usable options.

share|improve this answer

First, do you develop for Windows, or cross platform? If so, you may be required to eventually get at least one Windows 8 box, so that your devs can test builds on it. Secondly, Windows 8 is something of a sea change for Windows.

Get the beta and take a look. It seems to fall much more into the single app at a time camp of tablets. This is fine for some devices and software. For others, the entire point is to have a multipurpose computer. Not a media streamer. If your software is any kind of business application, then imagine a user that is required to run it full screen, with the only way to access a different program(browser, email, excel, word) is by shutting down your program, and losing their place.

There is no opportunity for synergy between programs. Every program becomes a tiny courtyard inside the hedge maze in the walled garden. All of a sudden, you have to support everything, because your users can't get different software to do what your's doesn't.

It has been said before, but we use a computers on a task-centric paradigm not an app-centric paradigm. Even a normal home user needs to use multiple programs at once. Have you ever tried to write a school paper without word and a browser? This may very well move a large portion of the computer user population to migrate to some flavor of linux.

So, my advice is to be prepared to buy copies of Windows 8, but do not get them until at least 6 months in. At that point, the fallout will have already occurred, and you can make an informed decision, based upon what your customers use and think.

share|improve this answer
    
Usually, when we develop for Windows, it is for Windows only (especially the native stuff). When we develop for linux, it is always native or c++ using the native apis--and thus only for linux or a unix flavor that uses the same api. –  Jonathan Henson Jan 30 '12 at 15:44
    
"It seems to fall much more into the single app at a time camp of tablets." What? This is so dumb of Microsoft that I can't even begin to start complaining about it. Why use a P.C. at all if that is the case. I already prefer linux, but unfortunately we will always have to develop for Windows (unless they loose their market dominance for doing stupid crap like this). –  Jonathan Henson Jan 30 '12 at 15:47
    
@JonathanHenson The user interface for W8 is very similar to the windows phone 7 interface. It is very slick, for a media device or touchpad based system. I see it as absolutely horrible for an actual PC. And just like a lot of the "legacy" systems, it will probably only have token support for the "old way". On Windows 7 you CAN switch back to the old start menu, but doing so abruptly causes your system to run veery slow. It took me forever to find that problem. –  Spencer Rathbun Jan 30 '12 at 15:51
    
@Jonathan Henson: What Microsoft has released so far makes it look like the standard Windows desktop is running more or less on a WP7 interface. This may be changed before release; if not, my prediction is that Vista will wind up looking awfully good by comparison. It was probably more important to release a developer's version with the new Metro (i.e., WP7) interface than to show the same old stuff, so we can hope MS was aware of the problems and intends to fix them before release. –  David Thornley Jan 30 '12 at 17:38
1  
Windows 8 has no problems running multiple non-metro apps. Business productivity apps are fine on it. –  Rig Jan 30 '12 at 17:53

This is an easy one:

When your customers do.

And there is an important corollary which the bosses on a team I worked on forgot once:

"When do we stop supporting the older version of Windows?"

When your customers do.

It's not sexy, but remember that most of what big companies like MS or driver makers do is backwards compatibility work. Check out "The New Old Thing" if you haven't.

share|improve this answer

Before asking your developers anything, ask yourself first this:

  • What I need to do with Windows 8, that I can't do with current windows versions?

  • Does Windows 8 offers any true enhancements to the work I do?

  • Do I want to use Windows 8, just to be updated (ie. to follow with the hype)?

If the answer to one or two is yes and stronger, than the yes you might give to three, than go ahead. If not, forget it... You need an true motive to update, that isn't just because others are doing it.

share|improve this answer

It's worth pointing out that Windows 2000 was based on the NT code, while Windows ME was the last (thankfully) iteration of the Win 95 kernel. So saying "2000 was solid but ME sucked" doesn't really say anything at all. XP was the update of 2000, and was reasonably solid. Vista was XP with garbage grafted on. Win 7 got rid of the clutter and introduced a lot of good fixes and features. So the real Windows updates are:

[Win 95 kernel]

  • 95 (sucked)

  • 98 (sucked less than 95)

  • ME (sucked badly)

[kernel retired]

[Win NT kernel]

  • ...[previous NT releases, 3.1 through 4.0]...

  • 2000 (solid but underfeatured, not well-supported in the industry)

  • XP (good update, good OS albeit with suboptimal defaults)

  • Vista (mediocre update of XP)

  • 7 (excellent release; first Win OS that can reasonably be compared to Linux boxes in terms of solidity)

  • 8 (???)

Vista was a slight regression in a .1 release. Other than that, the NT kernel releases have trended upward quite solidly from release to release. I see no reason to assume that Win 8 will be an ME-type, or even a Vista-type, regression in quality.

But as others have already pointed out, the obvious answer is to experiment with VMs to find out how it will work for you.

share|improve this answer
    
I think vista was totally new and that 7 was built on top of vista. Both are major revision 6, project longhorn. Someone correct me here if I am wrong. Also, Vista wasn't a bad O.S., its only flaws were that it didn't support backward compatibility well, and it was a memory hog. However, it didn't stick around for long, which as far as I am concerned, still causes problems for me if I spent the money to upgrade all of my developers to it. –  Jonathan Henson Jan 30 '12 at 19:34
    
I think you're right. I was at MS during the Longhorn days (but not working on Longhorn). Vista was supposed to be an increment of XP, but suffered from extensive feature creep, due mostly (I gather) to mounting concerns about security in XP. I misspoke in saying it was a .1 upgrade of XP; it was more like a beta of what would become 7, which I suppose is technically a .1 upgrade of Vista. My point was that Vista was a slight regression, an unfortunate blip in what is actually a pretty solid OS progression from Microsoft in the NT kernel. –  Spoxjox Jan 30 '12 at 19:44
    
Agreed. N.T. has been pretty solid. I don't know though, from what I have gathered, 8 is going to swim like a bag of rocks. If they force me to use .NET and WPF, I won't be using it at all if I can help it. I'll start writing gtk or qt apps instead of using the api, but that will be on my way out the door to a unix only shop. –  Jonathan Henson Jan 30 '12 at 19:48
    
This answer is full of opinions. Also, Windows Vista is alot closer to Windows 7 than it is to Windows XP. In fact, in my experience, a windows vista with all updates performs about the same as windows 7. Just like Windows 2000 and Windows XP were very similar. –  user606723 Jan 30 '12 at 20:10
1  
Most of Vista's 'bad feedback' comes from the early days of it's release when it really was terrible. I suspect the difference between vista and 7 in April 2009, when the last version of Vista was released, are almost identical with the exception of UI enhancements. –  user606723 Jan 30 '12 at 20:17

Return on Investment is something very important. If you're working with Widows 7, you're good to go. Few things I have noticed with Windows 8 are

  • It's an optimized version of Windows 7 as usual.
  • The memory management has been considerably improved. Check Windows Engineering Blog
  • The core operating system is similar and WinRT is something new in this platform which enables Metro Style apps.
  • Faster boot. Yeah it's extremely fast.

Windows 8 is more focused on Tablet PCs. PCs sales are considerably reduced last year and people are eyeing on tablets like iPad. As a software company, Microsoft has focus on this paradigm shift and address the low configuration form factors. For a developer perspective, it doesn't make much difference as long the new unique features are exploited. Unlike Apple, Microsoft OS upgrade is too expensive.

share|improve this answer
    
You still pay the same price for Apple OS upgrades, you just pay it when you purchase the machine, instead of multiple system os upgrades. "too expensive" is an opinion not fact. –  Ramhound Jan 31 '12 at 12:31
    
Most the PCs are purchased with the Windows license. The Mac OS X upgrade cost you only some $30 (I'm not sure how much Lion would cost you). On the other hand, Windows would hit you with a whopping $300 upgrade –  sarat Feb 1 '12 at 5:51

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.