Windows 7, A Good Platform for Developers?
I know of a similar question that got closed. But this one is from a developer's point of view.
I must say my experience in terms of software development (not including testing) has been more painful on Vista than on XP. I'm wondering if you guys have had similar experience; and if so, does Windows 7 eases the pain?
I'm using Vista on my lappy and XP at work, both for development purpose, .NET (all sorts), some php, MSSQL and MySQL.
Am setting this as a wiki.
I can honestly say that Windows 7 is what Vista always should have been, and then some. If you're mainly a Linux platform developer, then run that. If you're mainly a Windows platform developer, Windows 7 is the place to be.
In either case you can run the other OS in a VM.
Windows 7 is no better or worse than XP or Vista for development, at least as far I can tell. And yes, Windows 7 is like gas @ 2.85/gal, not the 3.65/gal Vista charged -- that is, it seems better because it, well, is -- even if it still isn't great.
However, I find it still "lacking" by default I end up installing cygwin/mingw/rxvt and other tools to make (windows in general) more accommodating to my needs and expectations.
(Of course any particular dev. experience will be tied with what is -- or isn't -- supported across with windows versions and any small changes which have been introduced.)
Here's one data point: most of my fellow developers in MS seem to be running 7 these days (every now and then, you get a question on the team mailing list, "anyone got a Vista box to repro this?" ~). A large number of people ran it as a main development desktop in RC and even beta timeframe, too.
Most of Vista development hurdles, as I understand, are with UAC. 7 throws a few less prompts at you, but for particular usage scenarios when doing development, it probably won't be any different. Of course, you can always turn it off, too, but you could in Vista just as well.
Some nice parts are there if you work with RDP regularly - which you probably do if you have several boxes and don't like KVMs, and/or run VMs on Hyper-V or Virtual PC. When doing RDP 7 to 7, you can get full Aero Glass experience, with all the effects enabled. Apart from the eyecandy, it can be helpful when testing related functionality.
What else... PowerShell 2.0 final out of the box. I find it a very handy development tool, just as shell is on Unix. You can get PSh 2.0 RC for XP or Vista now, but not final (yet).
I think Vista and Win7 are great development environments. After all, it's what a large proportion of your end-users will be using, so you'll be able to see how your app interacts with the newer features of the platform, whilst almost everything else about your app will look and feel the same way as it did on XP.
Take UAC for example. Yes, it can be annoying (much improved in Win7 though), but used properly it works well. It separates administrative privileges from regular user operations. If you don't actively develop in Vista or Win7 then the temptation is to make the problem go away by telling people to turn off UAC or run as administrator all the time. If you develop on that platform then it forces you to come to a better solution.
Used Vista for 3 years, full-time C++ development with predominantly XP customers. No problems. Have been running W7 RC 64bit for 2 months, same machine, same customers. No problems.
Way better than XP, but that's mainly because I assimilate to new features very quickly and don't resist change.
I find the following things noteworthy to Windows 7 being a lot better to develop on than XP:
- A lot more drivers - So you happily plug your headset for meetings, that new video board with 4 monitor support, etc. Such things can be a pain in XP at times.
- A lot more support to virtualization - Both of applications (Terminal Services) and of the OS. (Hyper-V)
- Improved support for with multiple monitors and new UI to help at that - Aerosnap, gestures, etc.
- A log of dev stuff out of the box, .net runtime, powershell. This all stuff that you can download and install on XP, but it is always a hassle when you have to reinstall the machine.
Win 7 is a no brainer over XP, definitely something to have if you have the money and the hardware to upgrade, or if you a getting a new computer.
I don't think the question can be answered with "Yes" or "No". The best answer is "It depends".
If Windows 7 solves some problems you had with other operating systems while developing (or at least does not introduce new ones) then it is a good platform for you. On the other side, if you have problems with it then stick to what you know is working.
From my experience: Win 7 is good for me. There are ~3 months since installed it and is working well - is not interfering in any bad way with my development activities. Actually is not the final version of W7, is the RTM one.
It's pretty much same as Vista. The only problem I've ran into is the annoying UAC control which renders shell extensions (like TortoiseSVN) useless, unless you change the ownership of the folder. But I guess it's the same in Vista.
I'm running MySQL, IIS, apache, TortoiseSVN and Visual Studio on Windows 7 and so far everything is working perfectly.
I've personally switched to Windows Server 2008 R2 Standard as a development machine and I find it much faster than Windows 7 Ultimate x64. Try it and you will see the difference. It can be tweaked to be extremely lightweight and is blazingly fast.
But because the question was about Windows 7, I've used the RTM Ultimate x64 as a development machine since August and didn't find much of a difference compared to Vista Ultimate x32 I've used before. Surely it looks more polished but as I'm primarily looking for speed it didn't made much of a difference.
I have two development machines - one a laptop and one a desktop - both running Windows 7. The desktop is considerable faster, not just in launching VS 2008, but the lag I was seeing with ReSharper on some projects is completely gone.
On my laptop, Vista came installed and I have been running Windows 7 since the last beta. With Vista, VS felt sluggish. With W7, not only does it feel faster, I am running SQL Server Standard, a local SMTP Server (SmarterMail), hosting a Lucene.NET index, and running Velocity; all for a project that I am currently working on. And it is just as usable as it was when I just has VS on Vista on the same machine. I never expected I would be able to have all of that running on a laptop and still be usable, so my productivity on the train for my commute has skyrocketed.
One of my favorite features of W7 is the preview pane in Windows Explorer. With it on, I can select a C# file and look at the source without having to open it in VS or a text editor. Really handy for when I need to look at something in another project. I seriously do not have a single complaint about this OS - something I have not been able to say in a long, long time.
How does Visual Studio 2008 run on Windows 7? When I ran the Windows 7 Upgrade Advisor it was (ironically) the only software that was flagged as being potentially problematic.
Windows 7 Professional, VS2008, VS2010, Netbeans with PHP addon, MSSQl, MySQL, PHP, Apache, IIS
Everything works fine
A good platform for developers is Linux, but it depends of your language, .Net the best is Windows, Objective-C is Mac and C is Linux...