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 object-based and 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, http://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 http://www.accu.org ,
and for Java, http://www.javasoft.com .