Java algtõed
kõrge programmeerimise kultuur, seevastu Javas on see realiseeritud automaatselt.
· Programmeerimise paradigma. Keel Java on puhas objektorienteeritud keel. Seevastu C++
keeles on säilinud ka puhtprotseduurse programmeerimise võimalused (klassivabad funktsioonid ja
muutujad).
· Tüüpide dünaamiline info. C++s puudub käitusajal tüüpide täisväärtuslik info RTTI (Run-time
type information - see on spetsiaalne objekti tüübi määramise mehhanism käitusajal).
· Eelprotsessor. C++ on säilinud C eelprotsessor, sealhulgas on olemas võimalus lisada
kasutajasüntaks kasutades käsku #define. See ei ole ohutu mehhanism, sest suurte programmide
pakettide moodulid võivad saada üksteisest liiga sõltuvaks, mis järsult vähendavad pakettide
turvalisust ja ühiskasutusega moodulite loomise võimalust. ++ keeles on piisavas koguses
vahendeid (konstandid, mallid, sisseehitatud funktsioonid) selleks, et praktikas vältida täielikult
#define kasutamise