Possible Duplicate:
Any compelling reasons for upgrading Vista to Windows 7

Hi there. I'am a .NET developer and am using Windows XP for years now... My question is: Why should I upgrade to Windows 7.

I didn't upgrade to Windows Vista... but now many people are talking about upgrading because XP is an old OS and we should move on bla bla bla. Now from a developer's perspective why should I upgrade?

  • 2
    Already asked: superuser.com/questions/19393/… – heavyd Sep 25 '09 at 16:50
  • 3
    The OP wants a programmer's perspective, and everyone over at StackOverflow missed that point also. Anyone care to help him out? – Robert Harvey Sep 25 '09 at 16:52
  • 2
    this should be a Community Wiki – Molly7244 Sep 25 '09 at 17:28
  • @Molly: The question was migrated from SO, and the user doesn't have an account here, so it's not going to get changed to CW unless a moderator does it. If you feel strongly about it, flag the question for moderator attention. – Robert Harvey Sep 25 '09 at 17:48
  • @heavyd agreed, should be closed. – alex Sep 25 '09 at 18:10

In my experience as a .Net developer, Vista and Win7 are way more robust and stable to develop on, the 64bit versions have much better driver support and you really want a lot of memory to be able to run a few instances of your IDE, some virtual machines and so forth.

For Win7 in particular also the virtual pc engine used (available as a separate release candidate download right now) performs better than the old virtual pc 2007, vmware workstation/server - more akin to hyper-v and esx which eases local testing. It also features seamless integration with the virtual Windows XP Mode (if you use the right Win7 SKU) which gives you the ability to run IE6 in a "normal" window next to IE8 and the other browsers you need for web development testing.

In general, the Win7 UI updates are really nice. The taskbar finally works on either side and the hotkeys for manipulating windows are greatly enhanced - though most of these can be added with third party utilities. The file explorer still sucks, Directory Opus is a must ^^

Vista and Win7 also handles the screen DPI setting differently resulting in all applications looking perfect even if you want to run at a non-default DPI setting.

An obvious con is the need for separate testing in XP if you develop under Win7 - but the opposite holds true as well.

If you're in a Windows Domain environment, upgrading to Server 2008 and Vista or Server 2008 R2 and Windows 7 across the department, a lot of managing is vastly improved from a sysadmin perspective.

There are some interesting new features you can add to your applications to play nice with and be enhanced under Win7 as well which I feel makes work more fun - learning new things and keeping up with the platform you're working for.

| improve this answer | |

Better calculator with a "programmer" mode. What more do you need?

| improve this answer | |
  • 1
    Amen! That's actually a pretty good reason, that calculator is great :) – Zoran Sep 26 '09 at 10:06

Let's make a car analogy; programmers are famous for these.

Why do people buy new cars? All you really need is four wheels and an engine, so shouldn't we be able to get by an entire lifetime with one car?

We could, but we'd miss out on the improvements that are made to cars each year. Anti-lock brakes are relatively new. Traction control systems are relatively new as well. Some new vehicles are starting to incorporate emergency braking systems. Some new cars have cameras to help drivers back up safely. Some cars can automatically call for emergency assistance if a severe collision occurs. A recent video released by the Insurance Institute for Highway Safety shows a head-on collision between a 2009 Chevy Malibu and a 1959 Bel-Air. The driver of the Bel-Air would have died instantly; the Malibu driver suffered minor leg injury. 60 years of technology has made cars much safer. It's not just safety improvements either; every year more doodads like heated seats, touchscreen navigation systems, and media players are integrated in cars. My favorite new feature? The solar-powered vents in high-end Prius models that help cool the car when it's parked on hot days. Brilliant!

So, too, does each version of a Windows OS bring about improvements. Windows 7 has a better security model than Windows XP (it inherited this from Vista.) Windows 7 has a driver model that leads to a more robust experience. Windows 7 has been tweaked to use system resources even better than Vista did; all the free memory Windows XP lets sit useless is applied to tasks that make your OS run faster and better. From a developers' standpoint, you're able to use libraries like Direct2D for faster applications and DirectWrite for faster, more clear rendering of text. The Windows API Code Pack for .NET lets you access Windows 7-only features like taskbar jump lists, taskbar progress bar overlays, Libraries, the shell search APIs, and the sensor platform APIs. You can't use these features on Windows XP and thus can't test them. Using Windows 7 features lets you add neat usability enhancements to your application, and we all know that silly eye candy features usually make users prefer an application even if it has warts.

Also like cars, software has a support cycle. Windows XP is nearing complete end of support; at that point Microsoft will no longer develop security patches or bug fixes. You won't be able to find drivers for new hardware. When this happens, trying to maintain your software on Windows XP is going to be a do it yourself adventure; if your programming framework doesn't support XP you're going to have to either resort to hacks to get it installed or upgrade. If you resort to hacks, you have less assurance that the program you write works on client machines.

You don't have to upgrade. But have you ever seen that guy that rolls around town in the rusty 1981 Crown Victoria? The one that has a coat hanger for an antenna and a piece of duct tape to hold the hood down? That's what Windows 98 looks like right now, and it's what Windows XP is going to look like in half a decade or so. Applications developed to use Windows 7 features are going to make applications that are not developed for them look amateurish. Remember when XP visual styles came out? It made applications that didn't use them look dated and old because they had ugly, flat-colored, boxy buttons compared to nicer, gradient filled, rounded buttons. By now, nothing says "amateur" like an app that doesn't use visual styles. This is what will eventually happen with Windows 7 features: if you don't support them your app will stick out like a sore thumb.

| improve this answer | |

Other than being able to assure any of your clients that your application is compatible with W7... I'm not sure that there are any major reasons to upgrade to 7. It's prettier, and comparable with XP as far as speed and stability are concerned. But those are just personal reason to upgrade. If you do any graphics programming, it gives you access to DirectX 10 and 11.

| improve this answer | |
  • The compatibility of your software and its installation procedure with Win7 is not evident, given UAC. – harrymc Sep 25 '09 at 17:09
  • I'm not sure what you mean by your comment? I would love to be able to test with full UAC activated in order to better find ways of performing actions with the lowest required security permissions. – Justin Drury Sep 25 '09 at 18:25
  • That's exactly what I meant. Programs and installations created on XP can fail quite unexpectedly on Vista & Win7. – harrymc Sep 25 '09 at 18:28

From a developers standpoint? i'm not sure. It helps make sure your apps work with aero and obey proper security measures i suppose. But other then that? There's just the standard reasons. Awesome looking, stable, capable of running applications XP cant, ...

On a side note, you can change your logon pic which is kinda cool. I use a Digital Blasphemy pic as my logon and it looks smashing.

| improve this answer | |

If you run a lot of applications/windows at once, which I'm sure you do, then there are some useful benefits to running Windows 7. The first is the new grouping of applications in the taskbar which replaces the virtually worthless group from XP and Vista. Second, is the window peek which allows you to view an application in the background without actually switching context to the application. Finally, are the Jump Lists which put frequently accessed files/websites accessible right under the application icon.

Some other features I like are the drag & drop of maximized windows, and being able to split screen a window with a simple mouse drag. Also, it looks like Microsoft finally resolved the problem with background windows taking over context when creating a new dialog or window.

You can see some of these features in action from this Ars Technica review from a year ago.

All-in-all, I find the UI much faster and more efficient to use than XP or Vista.

| improve this answer | |

(Note: this is not a technically correct answer, but it is the true some many times)


Because is the new shinny thing and if you are not excited to get it installed as soon as it get released it is because you don't really love programming (please don't take it as a offense)

| improve this answer | |

As a (Windows) developer you appreciate that most of your users will not be using XP for much longer. To upgrade yourself, you will be getting familiar with the OS that your users will be using. That has to be good for both you and for them!

| improve this answer | |

From a .NET programmer's perspective, there isn't much need, unless you are also using the machine to create (and test) installers.

In that scenario, you really should be using permission elevation within the installer. You cannot test that on Windows XP, since Windows XP does not employ permission elevation.

Since that feature is only available from Windows Vista onwards, and considering that there is only Windows Vista and Windows 7 at this point, my choice would emphatically be Windows 7 as it has much, much better performance than Windows XP, especially on older machines.

For example, I am running Windows 7 on a 4 year old machine with a Pentium D 915 CPU and 3GB 533MHz RAM and it performs better than it would with Windows XP.

All in all, I don't really see any downsides to using Windows 7, though I suspect that it would require much more RAM than Windows XP, e.g., 3GB for the former vs. 1GB for the latter. RAM is cheap though.

On a personal note, I prefer not to lag too far behind the technological wave, because generally, newers applications provide more features than older ones (e.g., VS2008 is vastly superior to VS2005, etc.) and the usual reasons organizations do not upgrade (too much risk, too much prior investment in a previous version) do not apply to individuals.

Hope this helps.

| improve this answer | |