C with Classes was Bjarne Stroustrup
's early experiment with an Object Orientated
C-derived language. He was told to "Do something interesting" as a research project at the Computer Science Research Department
of Bell Labs
, and C with Classes
was the output. The goal of C with Classes was to allow better organization of C
programs, while not compromising run-time
performance - and still do everything C
did (and more!).
C with Classes was nearly 100% source-compatible with C, but there were some differences. For instance, new and class were (and are) legal identifiers in C, but are keywords in C with Classes. It was, however, 100% link compatible - C with Classes functions could be called from C programs, and vice versa.
The initial features of C with Classes, in the 1980 release, were:
In 1981, the following features were added:
As you can see, if you are familiar with C++, many of the features of the langauge were present in this early release. The language retained the full power of C.
The syntax of C with Classes was very similar to that of C++ today, although during the course of C with Classes' life Bjarne considered changing some of the more awkward C syntax, he eventually withdrew when put under fire by users.