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.