Bjarne Stroustrup, prime developer of C++
Developed in 1979 in Bell Labs by one Bjarne Stroustup, C++ is essentially a super set of the C language, enhanced by the additional support of classes and other object-orientated features that are not well-supported in C. Like C, it is an intermediate language, consisting of both high- and low-level language features. Other similarities with C include being statically-typed, being operable as a procedural language and fine control over memory management. Unlike languages that intend to hide memory management details from the programmer, like Java, Perl, PHP and Ruby, C++ supports four types of memory management: static memory allocation, automatic memory allocation, dynamic memory allocation and the boehm garbage collector.
C++ is in wide use today (even here on BrainMass, where it is one of the top-visited categories in Computer Science) and has been used to craft a huge variety of programs. Its applications include operating system platforms, system software, application software, device drivers, embedded software and high-performance server and entertainment software, all thanks to it being a highly efficient compiler to native code, and therefore able to run faster in many cases than more portable languages like Java.
As one would expect for such a staple language, C++'s features include over 35 operators, including ones that can cover basic arithmetic, bit manipulation, indirection, comparisons, logical operations and many more. Almost all of these may be overloaded for user-defined types for added functionality - the few exceptions being the member access and conditional operators. This ability to overload operators is essential to many advanced C++ programming techniques, giving the language ever higher capabilities. Overloading an operator does not change the precedence of calculations involving the operator, nor does it change the number of operands of an operator uses. Overloaded “&&: and “||” operators lose their shirt-circuit evaluation property.