Does installing many programs really slow down Windows?
I have always heard that it's a bad idea to install lots of software on a Windows machine, and new software should always be tested in a virtual machine so as to not permanently affect the operating system. But does the actual act of installing a piece of software really slow down the Windows OS? Or is it more due to the programs themselves running a bunch of background services?
To rephrase my question, if I were to continuously install software but then remove it later, would Windows still slow down?
If you're installing, trying and uninstalling lots of software, then a VM is very useful because they can be quickly reset to allow testing of new software in a "clean" environment - so there are other advantages.
As for your question:
Possibly. It depends entirely on the software.
If a piece of software uses/installs services, registry entries, background tasks, drivers, shared DLLs, etc - then yes you could potentially get performance loss. Even more so if it doesn't remove them when you uninstall the software.
But, any well written software should entirely clean up after itself when uninstalled.
Bottom Line
If the software isn't running and doesn't install any services, registry entries, background tasks, drivers, shared DLLs, etc, it will only reduce your disk space and not affect your performance (unless you're out of disk space, but then you've wider issues).
If the software installs any services, registry entries, background tasks, drivers, shared DLLs, etc (and/or leaves it behind when uninstalled), you might get performance loss. But it also might not be noticable until you've done this with lots of software, depending on how powerful your system is.
In practice the answer is a bold Yes.
With so many developers of all kinds, so many automated tools to generate the installation files, installing and loading the libraries, etc etc etc, and most important, the absolute lack of a culture of respecting the machine's owner's decisions above everything else when developing software (perhaps due to the Operating System itself being designed for users who don't want to take such decisions in first place, plus the fact that there is in general no open source so that people could look in it and say "hey, com'on, you'r installing useless s%#t to my system core", etc) lead to a de facto consequence which is this bold yes.
In theory there may be Windows software that can be installed, uninstalled, and leave absolutely no change in it. We could even try to make a list of such. I assure you they are insignificantly few.
One could indeed possibly say, though, that it's not directly MS's fault. It's arguable.
DMA57361's answer is perfectly valid but an alternative approach would be to use a SandBox:
http://www.sandboxie.com/
This gives you the option of trying out programs on your computer without a virtual machine and having them run in their own little... sandbox...
I'm not making a recommendation of this tool based on the fact that I've used it, just that I have heard about it, there may be better alternatives available that implement the same "sandboxing" concept.