I am updating my rig and I need to make a decision between staying with XP x64 or going to Vista x64. I do very little development, really just building products from my developers. The other 90% of my work is done with Google Apps, Skype, Office, etc...
I want to upgrade to Vista not only because I will have 3x monitors running on DirectX10, but mostly because iTunes isnt' supported on XP x64!
So, my question...
With all the horror stories about Vista, will Vista Ultimate x64 with 8GB RAM be good for my development machine?
If I can't develop on Vista, I can always fire open a VPC to do the development in. No?
EDIT
I am using all Microsoft development tools...
VS.NET 2005
VS.NET 2008
VB6
SQL Server 2005/2008
ASP.NET
(.NET 2.0 & .NET 3.0)
I'm sure the software will run, I suppose I am not so sure that the OS will be speedy enough, or stable enough.
I am fine with Vista 64 bits for .net and php.
A lot of conversation about it are already on SO. Here is some important point your might take in consideration for .Net:
Unit Testing with NUnit
UAC with developpement
VS and Vista
A lot more...
You can develop for X86 on your new X64 machine without problem.
For PHP XAMPP work fine, Eclipse work fine too.
I run Vista x64 with 4GB of memory and haven't run into any major problems. Before this I was using Vista x86 and I definitely like x64 better as it seems more stable.
In case you're curious, with only (hehe, only!? amazing to say) 4GB of memory I can easily run:
3 instances of Visual Studio 2008 with Resharper
a couple Sql Management Studio instances
Outlook with 3 mail stores totaling # 2GB
Firefox with # 20 tabs
a bunch of Windows Explorer windows
Windows Media Player
iTunes (which is slow as a dog)
# 5 Excel and Word documents
plus some assorted services (eg, Sql Service 2005 and 2008) and status-area apps
Even with all this I still have roughly 750 MB free and no performance issues when using the applications.
I run Vista Business x64 SP 1 (8 GB RAM) for one month now. No problems so far. I'm using following software:
Visual Studio 2005 SP 1
Visual Studio 2008 SP 1
TortoiseSVN / VisualSVN
Visual SourceSafe (older projects)
SQL Server Client Tools
Firefox 3.01 + Firebug
IE 7 + Fiddler
Chrome
Red Gate SQL Compare / Data Compare
Virtual PC 2007 SP 1
Notepad ++
SyncBack
RoyalTS (RemoteDesktop Manager)
Skype
Office 2007
I used it for a long time before switching to Windows Server 2008 (x64) - was very good though,
Personally, I found Server 2008 to be a much better dev OS though. Check out this article on converting Windows Server 2008 to smell a little more like Vista.
I personally use Vista Ultimate x64 with 8GB RAM for my development machine. I don't quite have 3 monitors, but my machine is pretty well set up for development.
Vista x64 is great for .NET and Java. Started with 4GB RAM and that wasn't enough (hit 100% sometimes and the machine would slow to a crawl). 6GB is just barely enough. Hitting 95% memory usage sometimes and it slows down a little, but the machine doesn't go into a paging frenzy anymore.
I run Vista x64 Ultimate as my primary dev machine and it's just fine. Support for x64 has come a long way and for the most part you won't notice a difference except for program files location and much, much more RAM.
Vista will be plenty fast and stable. I'm using Vista x64 Ultimate for development #work right now, and have been for some time. I have nothing but good to say about it.
I'd say it depends on what you're developing. The first priority should be to make sure that all of your development and testing tools work properly under Vista x64. If they don't, there's no reason to suffer the pain of doing all your actual work in a virtual machine.
So I'd say the best thing to do is to take the plunge, see how it works, and keep the XP discs around. And should everything work as expected, it would still be prudent to have a copy of XP running in a VPC just for compatibility testing.
You will have to go XP-based Virtual Machine for any development in IE6. It is near-impossible to run that browser in Vista, let alone Ultimate.
Since a lot of government and legacy code base is against IE6, this happens a lot.
I've used Vista x64 as a development machine and have had only a few minor issues mostly related to using third party APIs in Visual Studio 2008. Just remember that if your getting a really unexplainable error within your Visual Studio project while utilizing a third party API - try compiling your app using the x86 CPU flag in your project settings. This has solved a few headaches for me here and there.
Related
I recently switched to a MacBook Pro for my development machine (for many reasons). I want to setup a Virtual Machine for ASP.NET, IIS, and Visual Studio 2010 development. I also have need to do some development work with SharePoint 2010.
What I am wondering is if I should use Windows 7 (64 bit) or Windows Server 2008 (64 bit) as the OS for my development virtual machine. I don't really need most of the services running in Server 2008 so I felt that Windows 7 would probably run faster in the VM environment however I am fairly new to SharePoint 2010 so I am not sure if Windows 7 (64 bit) can be used as a development environment for it.
Thanks for any input.
much easier is to install SharePoint 2010 on Win Server than on Windows 7 - on Windows 7 you need to install SharePoint manually (extract installation files, install prerequisites, install additional patches etc). Here is a link how to do it: http://bit.ly/aDCzvS
Services will not make a difference. Look at all the stuff you need for Sharepoint - this is not a low capacity environment. So, 00mb will not make a difference. Between SQL Server, Sharepoint server and Visual Studio I would say you ASK for about 6-8gb anyway ;)
I do not think it makes a difference now. Sharepoint 2010 was explicitly optimized for being installable on Win 7 - and this is a fully supported development model (contrary to 2007 where you basically were at the end of a bad line as developer). Win 7 should be good. That said, you can tune Windows server to be as good as Win 7 UI wise (for development work and playing music in the background).
I would go with Windows 7 for the time being - and possibly install Sharepoint on a separate Win 2008 when needed. THe main problem here is that Sharepoint is heavy in mem useage, and I woud hate carrying it around all the other time.
A MacBook Pro may be a bad choice for that - make sure you have at least 8gb memory for real sharepoint development work.
I work with people that use SharePoint in a VM on a Mac and their life is much harder. Among other things copying and pasting code between the guest and host machine doesn't work, and they're forced to dedicate one monitor to the VM. You should really consider Boot Camp and Windows 7.
Boot Camp + Windows 7 should get you:
Ability to use multiple monitors (Visual Studio's multi-monitor support is really wonderful)
Ability to hibernate (which you wouldn't necessarily get in Boot Camp + Server 2008 R2)
Use of all of your memory (SharePoint 2010 is a memory hog, running in a VM won't help the situation)
Fewer inconveniences like copy and paste problems
If for whatever reason Boot Camp isn't an option I'd go with Windows 7 in a VM. One of the big pros over Server 2008 is it has all of the features that you need already enabled. It ends up being a lot of work to debug why something isn't working in Server 2008 R2 only to find some obscure feature or service wasn't installed or activated out of the box.
Is the Windows 7 Home Premium sufficient for software development?
Development would be in Visual Studio 2010.
I'm on a budget so would rather purchase 'Home Premium' rather than 'Professional' or 'Ultimate'.
The Microsoft site says there is next to nothing functionality wise between them that developers would miss. Can anyone confirm or deny?
BTW. Does it come with a version of IIS?
I realize that this is not a technical question. But it is important to me and I'm sure other developers wonder the same thing.
Cheers,
-- Lee
Yes. I write software using VS 2010 in WIndows 7 Home Premium without any trouble.
Basically, yes, it's totally sufficient.
A big upside to professional edition, though, is that it comes with Windows XP mode, essentially a virtual machine with a built-in XP installation (and included license). That can come in handy if you do web development (test things in IE6/7) or need to test applications in the old XP GUI.
Windows XP mode can also be a lifesaver if you need to run older applications that won't run properly in 7. I personally would consider choosing the Professional Edition for that reason.
Don't purchase either, instead buy a MAPS subscription from them. In the UK these cost £199 p.a. (I imagine less in the states) for which you get virtually everything you're likely to need except Visual Studio. Currently you get
10 licences for MS Office 2007
10 for Project
10 for Visio
10 for Outlook
10 for Mappoint (North America only)
1 for Office Communications Server plus 10 CALS
10 for Windows 7 Professional
1 for Windows 7 Ultimate
1 for Windows Server 2008 R2, plus 10 Server CALS and 10 Terminal Server CALS
1 for Windows Web Server 2008 R2
1 for Windows Home Server 2008 R2
1 for Windows Business Server
1 for Windows Exchange server plus 10 CALS
1 for Windows Office Sharepoint, plus 10 CALS
1 for WIndows SQL Server standard plus 10 CALS
Plus a bunchload of other odds and sods servers and products of lesser interest.
MAPS is such good value - and I'm by no means a Microsoft fan - that purchase is pretty much a no-brainer for any software developer who runs Windows in any form.
UPDATE: Since I wrote this Microsoft now offer a Developer version of MAPS which replaces some of the more esoteric servers with Visual Studio. You still get the Office, Windows and SQL Server licences, which makes it just about perfect for any developer.
What you won't find on the Microsoft site, but on Wikipedia, is a nice Comparison Chart.
Compared to Professional, the Home Premium edition lacks:
support for more than 16 GB of memory: start worrying about that in a few years' time
network support in the Backup and Restore Center: not a problem if you handle your own backups
Remote Desktop server: not a problem if you develop only locally
some advanced disk management stuff: not a problem
features for a company network environment: not a problem
Windows XP mode: handy if you want to test on XP, but can be replaced by e.g. VMWare running an XP installation
Multilingual User Interface support: handy if you want to develop and test multilingual desktop applications
In conclusion: Professional may have some additional value if you develop Windows desktop applications for a diverse audience. If not, go for Home Premium.
Since you specifically asked:
Installing IIS 7.5 on Windows 7 Home Premium, Home Basic, or Home Starter (TechNet)
I guess in the past there were issues with developing for IIS on XP Home, but it looks like you can install IIS 7.5 on ANY version of Windows 7, including Starter, which I am surprised to see. I thought Starter was short of being useless for developers.
I agree with Pekka about XP Mode in Pro and Ultimate coming in handy if you need it. Sounds like Brian is already doing it and its working fine (I'm on Vista Ultimate until next week).
Yes. The OS you use really has little to do with development, unless you're targetting something specific to a version or edition of Windows (rare).
Here is a question not directly related to programming.
Being fed up with Microsoft Windows XP Professional, and the lots of eye-candy, I want to try Microsoft Windows Server 2003 as the main OS on my development PC. (The other reason is a better version of IIS than 5.1). And knowing that Win2K3 was originally designed as a Server OS, I think that I should make it somehow more "workstation friendly".
My question is: How do I transform Win2K3 (Standard Edition most probably) into a Workstation OS? Any articles or links are highly appreciated.
PS: My development PC must run mainly MS Visual Studio 2008, MS SQL Server 2008, MS Expression Studio 2, different Oracle software (10gR2, ExpressEdition, 11g) and other little utilities (a testing framework, a subversion tool - TFS, a web browser, a bittorrent client, etc). All of this are compatible with Win2K3, as I previously checked.
Tnks
I only server OS as my workstation, I had Server 2003 before I switched to Server 2008. There's a guide you can find here http://www.msfn.org/win2k3/.
You shouldn't run into any problems. Most of windows xp drivers will work on server 2003, however, some apps won't. Especially those that check for the OS version before installing. But you shouldn't have any problems with VS2008, Expression and anything you posted.
For me the only thing that was troublesome was running iTunes on server 2003, it doesn't look as good.
And if you like the eye candy you can turn it on by starting the Theme service and changing a few settings.
You shouldn't run into any issues running those applications on Server 2003.
The last time I personally ran 2003 on a workstation the only real big change was changing the security settings of internet explorer.
If you run one of the free anti-virus software packages you may find that they will not install on a Server OS.
edit: As another poster has suggested I would also go straight to server 2008 if it is an options. Server 2008 runs very well as a workstation OS and if you're hardware supports it the virtual server works very well.
Here's links for turning 2003 into workstation:
http://www.google.com/search?hl=en&q=windows+server+2003+workstation+converter
If you'd like use Windows Server 2008 as a workstation, runs much better (faster) than a regular Vista install:
http://www.google.com/search?hl=en&q=windows+server+2008+workstation+converter&aq=1&oq=windows+server+2008+work
or try getting your hands on Windows 7 RC1 which runs quite well.
None of the software types you've listed has any workstation-biased dependencies that I'm aware of. Expression Blend may suffer a bit depending on your hardware and drivers, as WPF is a little more demanding of visual goo than most other development tools for Windows forms.
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.
My box:
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...
I want to trial Windows 7 but wondered if anyone who has done so already ran into any issues specifically related to development?
i.e. problems with VS2008, SQL Management Studio and SQL Server, MySQL, PHP etc. etc.
Examples from XP -> Vista: in Vista there was a sudden loss of an SMTP server. And there were initially (if I remember correctly) issues with VS2005 with I seem to remember a patch coming out later to remedy.
EDIT: or on the contrary any big advantages or benefits to developing on Windows 7!
I been using windows 7 for a while now.
I been using VS2008, netbeans, tomcat, sql manager studio, mysql etc...
And i actually find it more stable and faster then windows vista.
There aren't many advantages to developing on Windows 7 before it's released. Most development features are a function of the IDE, not the OS. So, you might want to consider instead if you should be developing on Visual Studio 2010 instead of VS2008. Instead, you're more likely to have compatibility issues, although for the most part, Windows 7 is much more compatible with existing software than Vista was when it was in beta.
There could be one advantage to developing for Windows 7 before it's released -- you have a head start in taking advantage of features that competitors haven't yet, giving you an advantage in the market. That's the theory at least. That assumes you're going to develop something that uses a feature only available in Windows 7. That assumes you wouldn't be better off with the larger number of sales you'd get by developing something that works on existing platforms.
The only issue I've encountered so far involves compiling older vanilla C programs with Visual C++. You're usually presented with an error like so:
mt.exe : general error c101008d:
Failed to write the updated manifest
to the resource of file
".\Release\SomeProgram.exe". The
binary is not a valid Windows image.
You have to add an empty resource file to the solution.
More on the issue here.
I've never gotten any of the new audio stack examples working; thus this question. API works, documentation is... a bit lacking at the moment; sure to be fixed by RTM.
Other than that, Windows 7 has been faster than and just as stable as Vista (2 crashes from RTM, 0 crashes after SP1) was for me. Truly, you should be developing on Vista and testing on Windows 7 RC as a general practice with respect to pre-release operating systems; but I think we'll get away with it just fine in this particular case.
My advice would be to not develop on Windows 7. Note that I don't mean you shouldn't target it as a platform, just that you should be doing your development on a stable platform.
I personally won't trust a new release of Windows (or Linux for that matter) until it's been in the wild as a proper product (not release candidate) for many months. For Windows, I tend to wait until the first real service pack plus a month for all the nigglies to be fixed.
For Linux, I'm still using Ubuntu 8.04 LTS, not 8.1, and certainly not the 9 alphas.
Test machines are another matter, you should always have one at the "latest and greatest" level for testing, but I consider the development machine of prime importance, needing a stable platform.
No problems from my end yet, been working on a c# app with visual studio 2008 x64, and php web apps with dreamweaver cs3 and netbeans.
Windows7 seems to be just vista with more bells and wistles and a bit more responsive, not to sure if to much really change "under the hood" so to speak. But I have nothing to back that statement up with...
I've been using Win7 for a couple of months now and never had a problem. I went straight from XP to 7 and the only problems I faced were related to configuring SourceGear Vault to work with IIS7...other than that,it's been all good.
I use VS 2005, VS 2008, SQL Server 2005, Infragistics NetAdvantage, and a couple of third party components.
Although I haven't seen any advantages for the development side of the applications, I'd recommend you to upgrade to Win7 only for the better feel of a complete OS. I mean XP was good, but I really dig Win7.