Introduction
Before the rise of .NET, Java, and newer languages, C++ occupied a dominant position as the go-to choice for development of Windows applications. As the 21st century progressed, the use and popularity of these other languages grew, while C++ seemed to suffer somewhat without a vocal champion. This led to C++ becoming more of a specialist language to the point where it is now commonly seen as the language for writing operating systems, device drivers, game engines, and similar applications where speed is of the essence.
In recent years, this decline has somewhat moderated due to a renewed push in C++ support by Microsoft as well as renewed interest by developers who find that so called bare metal programming may provide better performance for applications running on portable devices. Microsoft has contributed to this resurgence by increasing Visual Studio's C++ standards compliance and improving the C++ toolset. VS2013 began this trend by including several components of the C...