Visual Studio 2015 is out and comes with lots of new features and improvements (see details here) but it also surprised me with what I call a demoting of C++ again to a second-class citizen, after some years when it looked like it regained importance at Microsoft. I’m saying Microsoft has demoted C++ because they made it an optional component in the installer, unlike C# and VB.NET that you cannot opt out and are installed by default with all configurations.

When you run the installer you can see there are two setup options:

  • Typical installation, that includes C#, VB.NET and desktop features, and
  • Custom installation, that allows you to select what components to install.

vs2015installertypical1
The typical configuration requires about 8GB of disk space. However, it only installs .NET based components (and of course other related assets). C++ is not part of those “desktop features” mentioned in the installer description. It does however install the C++ redistributable packages.
vs2015installertypical2

However, when you run Visual Studio after installation completes, all VC++ components are missing and require explicit installation.
vs2015vcpp2
vs2015vcpp1

To install VC++ you need to perform a custom installation. This can be done after a typical installation. A custom installation allows you to select what you want to install. These includes programming languages (VC++, VF# and Python Tools for Visual Studio), Windows and Web Development components, Cross Platform Mobile Development components and common tools. In total these require an additional 13GB of free disk space. However, with a custom installation you cannot opt out C# or VB.NET.
vs2015installercustom1

A good thing though is that the MBCS version of the MFC library is no longer a separate download, but made available with the Visual Studio installation. You must select the Microsoft Foundation Classes for C++ in the Custom installation to have it installed.

The conclusion I draw from the Visual Studio installation options is that C++ is not viewed as a first-class citizen language at Microsoft. I suppose they don’t think a “typical” developer using Visual Studio develops in C++ so they didn’t put it in the typical installation. On the other hand, they don’t provide us with the possibility to opt out .NET languages we don’t use. I’ve never developed anything in VB.NET and I don’t plan to. I don’t even see the need for such a language (just for some remote resemblance with VB6).

, , , , Hits for this post: 13514 .
Trackback

15 comments untill now

  1. Gravatar
    Victor Peralta @ 2015-07-22 15:22

    So sad 🙁 where is the Renaissance of C++

  2. Gravatar
    Ayman Shoukry @ 2015-07-22 17:44

    Hello Marius,

    Thanks for your blog post!

    I can assure you that VC++ is a first-class citizen in Visual Studio & Microsoft. In fact, this release includes much more C++ investments than the previous ones. That goes all the way from language conformance features & code quality to cross-platform mobile and C++ IDE enhancements. The setup changes mentioned in your blog post is part of an overall setup experience roadmap where we will keep moving different areas of VS to be selectable & off by default going forward. That will not apply to C++ only but to other languages & technologies. The IDE team explains the incentives behind such a direction in their blog post: http://blogs.msdn.com/b/visualstudio/archive/2015/07/21/visual-studio-2015-rtm-what-s-new-in-the-ide.aspx. Quoting from that blog post: “We will continue to move more of Visual Studio’s capabilities out of the default installation, and focus on creating a friction-free setup experience in which you can get the features you need when you need them.”

    Happy to answer any concerns directly via aymans@microsoft.com

    Thanks,
    Ayman Shoukry
    Group Program Manager
    Visual C++ Team

  3. Gravatar
    madusmacus @ 2015-07-22 18:00

    I have felt the C++ hatred for ages, years even.
    And II dont understand why they do this to us.

    Especially when I have the audacity to use mixed C++ and MC++ (the new realtime diagnostic tools refuse to work with managed compatibility mode they make me use)

    I fell into this trap myself so thanks for this blog :¬)

  4. Gravatar

    Does anybody knows where’s all C++ documentation for Visual Studio 2015. It seems it’s not included at all.

  5. Gravatar

    Agreed, this is an awful move on Microsoft’s part. How about letting me opt out of TFS and all the crapliad of baggage it brings instead.

  6. Gravatar

    I don’t understand why we have no option to uncheck the Visual Basic installation on Custom mode or even the C# if we want to.

  7. Gravatar

    It is frustrating as we see all sorts of goodies for C#/VB.Net
    What ticks me off is that you spends years learning to program in their style of C++ only to find that it is being considered a Native Language, whatever that means….

  8. Gravatar

    I agree. It seems C++ has been removed and replaced with tools that might make Microsoft some money!

    I was pleased to see the community editions be released but requiring users to work out how to install C++ is cumbersome and confusing.

    Why not make “Custom” the default install option. Then at least people will know to install C++ or whatever else they want. It will also show people what is available in the Ide.

    Currently users go through the lengthy install process only to find some things missing, then they have to search the web and eventually find the install needs to run again. Ugghhh!!

    This negatively impacts support for anyone producing C++ tools and extensions for Visual Studio.

  9. Gravatar

    @Ayman Shoukry
    Action (Wink… Wink…) speaks LOUDER than words!!

  10. Gravatar
    sealedinterface @ 2015-12-01 04:45

    I was quite surprised to see that C++ was not included by default in VS2015. I prefer C# myself, but I always thought of C++ to be far more popular than C#. I tended to avoid C++ simply because of its lack of “flow”: two files per class, poorer intellisense, more verbose or cryptic syntax for many things, etc., but C++ devs really deserve better treatment.

  11. Gravatar

    What a shame! I will stay with visual studio 2013 for now.

  12. Gravatar

    http://ahdak.net

    Microsoft made C++ a second-class citizen in Visual Studio 2015

  13. Gravatar
    VikingExplorer @ 2016-01-26 20:21

    Tim, sealedinterface, Vinnie & ahdak.net:

    Huh? Hogwash. VS2015 Community Edition certainly includes C++.

  14. Gravatar

    VikingExplorer – Hey don’t include me in that 🙂 I clearly agree that C++ is in VS2015. In fact VS C++ is stronger than ever because it includes support for cross platform, android, clang and lots of other things.

    My point was simply that it would be better if there was a one-click-install. It’s not obvious on the setup window that C++ is optional. Defaulting to Custom Setup showing all possible options might be a simple solution. I just don’t like seeing disappointed first time users 🙂

  15. Gravatar

    he installs a tons of not needed things
    … microsoft a crappy softawre comp.

Add your comment now