Hi,
What application domains is C++ "best of breed" in?
Depending on viewpoint, probably none -- for almost any
individual application, there will often be a language
that's at least arguably better. A large system, however,
will often include applications that favor quite a few
different languages, but trying to implement each in its
own language becomes unwieldy. A common alternative is to
ignore the absolute best for a specific application in
favor of one that's close to that good, but for a much
wider variety of applications.
I can make strong arguments for C++ in embedded systems and realtime
software, and that's pretty much it.
C++ offers a combination of reasonable portability, a
reasonable degree of low-level access to the machine, and
a reasonable degree of high-level organization of the
code.
C++ offers relatively easy low-level access to things
like raw memory (albeit, non-portably) that supports
writing things like device drivers and operating systems.
Likewise, its bit manipulation capabilities allow it to
work reasonably well for things like encryption, network
packet processing (e.g routing, computing CRCs) and so
on.
It has mid-level capabilities such as data structuring
and modularity that make it reasonable for writing things
like compilers, interpreters, virtual machines, network
protocols, numeric processing, and so on. Many of these
also depend (to varying degrees) on the lower-level
capabilities as well, of course.
It has high-level code-organization capabilities such as
object orientation, exception handling, and templates
that help considerably in controlling complexity while
building larger systems.
The first were mostly inherited from C. The last is
(largely) what C++ added.