What is C ++ used for?

Why all the Visual C ++ redistributables?

Tips & Tricks 08/13/2019, 6:00 a.m.
When you look in Control Panel / Programs you will be amazed at the many "Microsoft Visual C ++ Redistributable" entries. What are they supposed to do? Are they allowed to go?
When cleaning up your installed programs you will fall under Control Panel / Programs / Programs and Features (Windows 7: Programs and functions) has a whole series of installed objects with names such as "Microsoft Visual C ++ 2008 Redistributable" with different dates. On the one hand, the sometimes old year numbers are irritating, on the other hand, you also dislike the fact that many of them seem to exist twice. But resist your reflex to clean up here! We explain why.
What is the (apparently) ancient clutter here?

Where do they come from?

Anyone who develops software uses a development environment (Integrated Development Environment, or IDE for short). To put it simply, this is the application in which you write the program code and compile it into an executable program.
Microsoft Visual C ++ is widespread among Windows developers. When a developer compiles his work in this (makes it ready for use) and bundles it into an installation program, this process always adds all the required runtime libraries to the program. During the later installation on the user's PC, these are also installed and manifest themselves in the form of these Visual C ++ entries.

Why several years?

As with other products, there is a version of a development environment every few years. Not every developer gets the latest IDE all the time. This is why some developers work with older versions of Visual C ++. In addition, there are programs that are not developed much further for a few years because the functions are not necessary or because the developer does not have the time.
If you use such a program, the one on your PC will still need the appropriate older runtime libraries.
Unlike Java (JRE): Did your cleanup request come from your experience with Java? There is a big difference here between Visual C ++ and Java. In contrast to the Java Runtime Environment (JRE, which serves the same purpose for Java programs), the Visual C ++ libraries are not backwards compatible. That means: If a program was written with Visual C ++ 2008, it depends on the files from the Microsoft Visual C ++ 2008 Redistributable. If it was written in Visual C ++ 2013, then it needs the 2013 program libraries - and so on. With Java programs it is sufficient for the end user to have the latest JRE on board (see also the section «Waste of space?»).

Isn't that unsafe?

Less unsafe than you think! This is because Microsoft continues to distribute updates for the older Visual C ++ libraries. For example, an update or even a service pack for Microsoft Visual C ++ 2008 has just arrived here.
Windows updates are also available for the 2008 version of Microsoft Visual C ++ Redistributables
As long as you are using older programs or programs that were written in an older version of Microsoft's development environment, you will still need the different versions of the Visual C ++ runtime libraries.

Waste of space?

One would guess that so many runtime environment versions are wasting quite a bit of space. But it's actually not that bad.
Have a look for yourself. Drag the columns in the program list to the Control panel slightly wider so that you can also see the "Size" column. If it is missing: It can be shown by right-clicking on a column title and ticking it once. Each of the installed Visual C ++ versions only moves in a range between 10 and 23 megabytes. So together here a little more than 150 megabytes.
The individual packages with Visual C ++ runtime libraries are not that big
In Windows 10, the newer versions are automatically included. And the older ones are only installed if an application needs them or brings them with them.
Java - just for comparison: If you look at the same thing with Java, you can see that its runtime environment files take up more space. Even the downloads of the 32-bit and 64-bit versions for the Java runtime environment “weigh” a total of 142 megabytes; when installed, even 227 megabytes. That is significantly more than the 150 MB for Microsoft's packages. One of the reasons is likely to be the backward compatibility.
It can therefore definitely have advantages to manage the runtime libraries in different version packages, as Microsoft does with the C ++ libraries.

But why all of them twice?

Take a look at the names of the individual Visual C ++ objects below Control Panel / Programs / Programs and Features more precisely. On a 32-bit system, you will typically only have one copy per year. On a 64-bit system (most nowadays) you have both variants per version. This is because many programs still run on a 64-bit system with 32 bits. Sometimes there are even 64-bit programs that have a few 32-bit components. Therefore it is preferable to keep both variants on the system.

Uninstall or not?

Do not do it! You hardly gain any space by uninstalling Microsoft Visual C ++ Redistributables, but you run the risk that programs suddenly stop working.
Of course, it is possible that an older version of the Microsoft Visual C ++ libraries sometimes remains unused on the hard disk. This can happen, for example, if you uninstall the program that came with it. The uninstaller of a software only removes the program itself, but not the Visual C ++ libraries that have been «transported» with it. Most program uninstallers cannot decide whether another program depends on these runtime libraries.