> For the complete documentation index, see [llms.txt](https://cpb.gitbook.io/book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cpb.gitbook.io/book/languages/cpp/history.md).

# History

C++ originated in 1979, by *Bjarne Stroutrup*, he started working on "C with classes", the predecessor of C++. The goal and motivation was to create a fast and powerful language, building its roots upon the performance, efficiency, and portability of the widely used programming language - **C**. His original idea was to extend the C compiler with additional features such as *classes*, *strong typing*, *inlining*, and *default arguments*.

In 1983, the language was renamed to *C++*, with the ++ being the increment operator in C. This is when some more features were added to the language like *virtual functions*, *function name & operator overloading*, *references*, *memory allocation using new/free*, and *two forward slash comments - //* to name a few. This was also time when the first standalone compiler for C++ was created named *CFront*.

The book **The C++ Programming Language** was released in 1985 which became the language reference since there was no official standard at that time.

Since then, the language has been continuously evolving, most notably in C++11 standard, and has captured interests of many programmers throughout the world. Many educational institutes provide fundamental courses on C and C++ with C++ as the epicenter for the concepts of *Object Oriented Programming*.

Currently, the latest standard of C++ which has been released is C++17, however most compilers have not implemented the standard as of *May 24, 2018*. C++14 has been implemented in the various popular compilers like - *GNU Compiler Collection (gcc)*, and *clang*.
