A concise treatment of programming languages
is given in [BG94].
For a collection of papers on object-oriented
concepts, see [KL89].
Further, you may want to consult [Wegner87],
which contains the original presentation
of the discussion concerning the distinction
between {\em object-based} and {\em object-oriented}.
Concurrency is studied in [AWY93].
For Java, read the original white paper, [Java].
An interesting extension of C++ is described in [Petitpierre98].
At the corresponding web site, ltiwww.epfl.ch/sCxx ,
there is much additional material.
Finally, for an account of the design and evolution of C++,
read [Stroustrup97].
For more information on C++, visit www.accu.org ,
and for Java, www.javasoft.com .