• Multiparadigm
    Direct support for structured, OO and generic programming techniques. You can enjoy C++ no matter what your style.
  • Type safe
    Strict, sensible rules; many errors will be caught at compile time.
  • Efficient
    Templates provide compile-time polymorphism without any loss of efficiency, and virtual functions provide run-time polymorphism that is more extensible, efficient and simple than their C equivalent (switch/fnct ptrs)
  • Bjarne Stroustrup's central design goal in the development of C++ was the philosophy that you don't pay for what you don't use. This sets C++ apart from most other OO programming languages, where in order to use the language, you have to carry around all of the language's bagg..err, features, even the ones you don't want, even the ones that are useless or downright silly. If you want to use C++ and don't like a feature, don't use it.

    An example is the school of thought known as "generic programming", whose more extreme advocates consider object-oriented programming anathema but still use C++ to implement their ideas.

    Theorem: C++ Rules.

    Proof:

    The fact that C++ Rules can be easily proven by considering two facts:

    i) C rules. (1st Standard Programmers' Axiom)

    ii) C is contained in C++.


    Corollary: C++ Rules Even More than C.

    Proof:

    We have already proven that C rules, so we now only have to prove that C++ is better than C. That is obvious if we consider two facts:

    i) C is contained in C++. That is, you can do in C++ anything you can do in C.

    ii) C++ does things that C doesn't do. Example: In C, you can make a program which barks. In C++, you can make a program which barks, or you can make a program which creates a dog, and then make the dog bark.

    Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.