The C++ language, as the name implies, is based on extensions to C. Designed by Bjarne Stroustrup of AT&T in the mid-eighties, C++ added a number of object-oriented features to C. While one can certainly write object-oriented code in C, there are no facilities in the language to support it. C++ added common object-oriented language features such as classes and methods to C. Most early C++ compilers, in fact, were nothing more than front-ends that translated C++ code into C and then invoked the C compiler. Because it is a superset of C, C++ has always been a much more complicated language to learn. For many years , different vendors added their own specific extensions to C++, trying to provide more and more functionality. As a result, the C++ standardization process took many years to complete. Finally, in September of 1998, the C++ standard was finally published by the ISO. Compilers that are ISO C++ compliant are still very rare. In addition, the standard C++ library is relatively new, and millions of lines of existing C++ code that use proprietary libraries are still in use.