C++ is a systems level programming language designed as an extension to C, introducing classes, generics, object initializers, destructors and by extension Resource Allocation is Initialization (RAII), and much more. The language was designed by Dr. Bjorne Strustrup (@stroustrup) in 1985 at Bell Labs in Holmdel, New Jersey.
Source: A New Urbanist Developer Gives Saarinen a Reboot by Bloomberg
Since then it’s been the de-facto language for high performance computing, games, film rendering, simulations, scientific computing, the underlying language for machine learning libraries, native applications for Windows, MacOS/iOS (with Objective C++), Linux, game consoles, web browsers, databases, and so much more.
There’s a variety of different IDEs, each with their own project files such as:
makefile, though this is more of a build script.
There’s a variety of 🔨 build systems that can abstract IDEs for multi-platform development such as:
There’s no official 📦 package manager, rather there are a variety of different package managers and intermediary solutions. These include:
It’s also common for projects to use precompiled binaries for libraries (
.a) as well, since that saves them the trouble of recompiling, increasing build speeds at the cost of tying your project to the compiler version your library was built for.