In the growing struggle of software language popularity,
C++ is currently #3 and dropping (according to these
people):
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Java is #1, C is #2. C# is #4 and rising rapidly.
Objective C is #6 and also rising.
partial possible reasons:
there are many plain C codebases around, and "in the wild" C++ codebases
(solely or dominantly) are not run into nearly as often IME (even then,
they can be roughly divided into 3 major camps: C-like, Java-like, and
"traditional" C++).
Java + C is fairly popular, but Java + C++ is not as much.
partial possible reason: neither JNI nor JNA provide good direct access
to C++, and infact it may work as a hindrance in this case (though
likely more psychological than practical).
although GCC's CNI is a good idea (allowing a more direct mapping
between Java and C++ classes), it has not been embraced by the great
Sun/Oracle ("Sunacle", as some have called it).
actually, one can wonder if they just don't care about providing a nice
native interface, or if they were trying to actively and deliberately
make it painful to discourage people from using it?...
Objective-C has popularity mostly as it is Apples' major language of
choice, and Apple has gotten a lot more popular in recent years.
also possible:
C++, Java, and C#, compete mostly for a partly overlapping target area:
front-end application development.
C++ is not as popular in systems-programming or back-end libraries
(which are more of C's area), although C++ does have an advantage that
Java and C# are mostly unusable in these areas (write kernel or drivers
in Java == no).
however, in terms of ease of use, and providing expansive standardized
library functionality, Java and C# have an advantage (for example, there
is no direct/standardized C++ analogue of AWT/Swing or WinForms or WPF).
not that it is all bad news though, as C and C++ are still the
top-players in areas where performance is important, as, despite some
claims, C# and Java have not generally beaten C or C++ WRT either
performance or memory footprint (meaning an advantage in areas where
this is important).
or such...