The history of the C++ programming language dates back to 1979, when Bjarne Stroustrup (prounouned By-ar-ne strov-strup) was working on Simula – the world’s first object-oriented programming language. While appreciating the object-oriented programming paradigm, Stroustrup found Simula too slow. When even BCPL (a predecessor of C, see A Brief History of C for more information) did not prove to be fast enough, Stroustrup decided to use C as a base for the new language. The reasons for choosing C were apparantly many:
- C was general-purpose, and could be used for any programming situation
- C was more efficient, programs ran faster and would occupy lesser memory
- C was highly portable, and was available on a variety of machines
- C was popular, and compilers were readily available along with programmers who knew the language
Stroustrup started by adding support for classes in C (classes being the starting point of object-oriented programming) resulting in the birth of the language “C with Classes”. The first compiler for this language was in fact merely a code converter called Cfront, that converted C++ code to it’s C equivalent, which could then be compiled by a C compiler.
With more improvements to the language, it was renamed to C++ in 1983, the “++” being the famous increment operator of C, and the logic behind the name being that this is the “next one of” C or the future of C. In Stroustrup’s own words: “the name signifies the evolutionary nature of the changes from C”, with the name being proposed by Rick Mascitti.
ISO released a standard for C++ in 1998, called C++98 – the first standard for the language. It was later revised in 2003 (C++03) and 2011 (C++11).
C++ was thought to replace C. In fact, it’s current name (C++) and one of it’s previous names (new C) clearly indicate this intention! Surprisingly however, C++ was not able to replace C, and C continues to be used extensively.
C++ today is not exactly a super-set of C! While it is true that more than 80% of C++ features are additions to features in C, some features of C were modified in C++. Thus, there is no guarantee that all C programs will compile properly using a C++ compiler. However, it is definitely possible to intentionally write C programs in a way that it will compile properly on a C++ compiler. It is also thus possible to mix C and C++ code.
C++ influenced other languages: Perl, Java, C# and C99 (The ISO standard for C released in 1999) to name a few. C++ was supposed to be superceded by D, a language invented by Walter Bright in 2001, based on practical experiences with C++. While D is a re-engineered work of C++, the source code is not backward compatible with C++. D could not become that popular since Java and C# had already made their presence felt!
Related Articles
No user responded in this post