Yea it's not the hard disk space that I'm worried about. It wouldn't bother me if it was 20GB as I only use 115GB of the 1TB hard drive provided.
Like any program that you install on windows it manages to do a crappy job every time of cleaning up. When you hit that uninstall button it's more or less an illusion making you believe it's uninstalled but in fact it's left registry entries and files and folders thrown in every corner of the drive. I'm sure you're still wondering okay why is that a problem?
Well the problem is not very obvious until you actually have a problem. But by then it's too late. Let's run through a scenario that's pretty common. You install a driver more specifically for your video card. You every so often update it; obviously, I hope. Considering this is gamedev. Even so if you're not a game developer and/or gamer. Graphics cards have expanded their uses into more areas. Whether it's your browser, your media player, your 3D modeling program, and hell even Photoshop. A lot of programs are starting to take advantage of hardware acceleration.
Their is a bug in the driver you have installed, everything is working fine. But every time you want to enable GPU acceleration in Firefox. The entire driver just crashes. Even worse your entire system just comes to a halt. The programmers of this driver are well aware of the issue, and working hard to fix it. They have a fix and release a new driver. You download the brand new driver and install it. Excited you fire up firefox and enable GPU acceleration. Only to be disappointed. You're facing the exact same issue. You're either like 99% of the population and are furious so you immediately write to the graphics card driver team reporting to them it doesn't work. Or you're the 1% who says "hmm interesting I wonder why it isn't working let's try troubleshooting it." The 99% are in contact with the experts, and the experts try to understand exactly what went wrong. They finally tell you to try reinstalling the driver as a first method of troubleshooting. Meanwhile the 1% that are troubleshooting on their own discover reinstalling doesn't fix it. So they go onto troubleshooting step #2. Uninstall the driver, try to find what it didn't uninstall. You manage to find all the remnants of leftovers. You then try again to install the driver. And it's magically working now.
Now the other 99% are still angry, and getting angrier every time the suggestion from the expert your in contact with fails. Until the expert finally just suggests to obliterate every trace of the driver from the hard drive. Next start on a fresh install. Well now it's magically working again.
Though that's a very simplistic issue. Very quickly imagine that this problem was not only contributed by a bug in the driver. Their is also a bug in Firefox. So now you have two sources that need this treatment. Still simple. Let's imagine a more realistic scenario where you don't know what program is causing whatever the issue is.
You're the person who doesn't care about how many different programs you have installed. Even if half of them you never use. And god bless you if you have visual studio installed. Because you have 10s of different programs that are installed just by one software you have. But you never cared. Now all of a sudden you do because there is a problem. But by the time you have a problem it's too late. Because let's say even a a year goes by. And you've installed a large number of programs. Because well what's the harm?
Let's not even try to get into that scenario. What would be ironically even more painful if it was the same scenario, and you didn't actually have a problem you just wanted to upgrade to the latest version of visual studio. Well in that case good luck.
Now i'm more of a computer repair guy than a programmer. I do programming more as a hobby and really only dream to accumulate enough knowledge to program for a living. Being a computer technician. Having's seen hundreds literally if not more computers that I have worked on. Back during the days of Windows XP really malware was the biggest problem. However it's not as bad today. Instead what I see more of is problems arising from just too much crud building on the hard drive. Hell just reading tech support forums. In which most of the time their problems come from the amount of different programs installed. Also programs that were uninstalled but never cleaned out properly, etc.
Even my self have faced this problem numerous times. The only advantage I had is that I had fixed the exact same problem on a much larger scale numerous times in the past. So I needed to come up with a system that prevented this problem from occurring. Granted you can lower the frequency of this problem to close to never happening. However if you do come across that problem you will have already employed a better system. To the point where troubleshooting becomes trivial.
- Don't go installing everything you come across.
- Don't just rapidly click through the installer. Look at what it's installing, where it's installing it, and why. Guarantee you will be hard pressed to find numerous i installers that contain completely unnecessary stuff. Where a simple click on a check box can solve.
- Most importantly don't depend on the programmer of the software to clean up with the provided uninstaller. Clean up after every uninstall. Or every so often like during your routine maintenance.
- Take a look at your control panel during your routine maintenance. I would say a good rule of thumb if you have over 50 programs installed. Quickly run through the list and ask your self "Do I need or at least will ever need this program" If the answer is no then get rid of it.
- Have somewhat of a organized structure. I'm no where near an organized person. But any organization is better than none. It not only helps you but also the speed of your computer. If you have an easier time finding things more than likely your operating system has an easier time finding things.
For you programmers think of it as a bubble sort. It's terribly inefficient so give it some human intervention by reducing the data set (Reducing the amount of programs installed). Then reducing the number of passes it has to make (any organization is better than none).
I think it's important for a technician to not only fix a problem but prevent problems. Which if you have some simple guidelines that not only you can follow, but also the customers you help can follow. Can potentially save both parties headaches.
So with all that said. It may seem insane to other people to follow those guidelines. Though when you deal with these problems on a daily basis it becomes apparent that there's no system in place on Windows to do it properly, It really isn't in your favor. So you gotta put your own system in place to put it back in your favor. Now there's obviously a point at which you're overdoing it. Suddenly it doesn't become in favor for you any more. Which is a good reason to have guidelines to follow to not only make sure you are doing the minimum, but also not going overboard with it. Simply replacing bad habits with good habits.
Visual Studio has probably been the worse kind of software in that respect. It's even worse that it's developed by the same company that develops the operating system. Which knows how it works; to know it's flaws. Instead of using that knowledge for the benefit of the end user. They seem to exploit it in the worse way possible. Anti-virus software has been known to be notoriously hard to get rid of. Visual Studio seems to one up it in a bad way.
Apparently from the responses no one has ever attempted to uninstall visual studio. I encourage you to setup a virtual machine. Install visual studio on it. Then attempt to uninstall it. When the situation get's to the point of wondering if wiping the hard drive would be a better option. You will understand my reluctance. It honestly act's like a virus. Which was the whole reason I made this thread.
@frob To the above post. I stated that the 20 something different programs it installed were automatically installed. Without my permission. I find it hard to believe to write, compile, debug C++, and C# in visual studio, That it needs to install 14 MySQL programs to operate properly. Why they would program it in a way where each component relies on all the others to be installed. Even if that component serves no purpose to the other. It's even more important when you do have all those different components to make them modular. To function independently. I mean think about it if that's the case then if just one component fails then it's like an avalanche where it takes out all the others.