6 Comments


  1. Nir

    People may want to use C++ even if they are planning to predominantly use OO techniques if they really care about performance. In fact, the choice to use C++ over Java/C# is usually driven by performance, not by the available paradigms.

    C is not OO in any way because it does not provide any built in language support for OO. C++ is a multi-paradigmatic language supporting OO as one of its paradigms, like e.g. python. I think this is well understood and it’s not necessary to logic chop.

    Reply

  2. The fun part about C++ is the flexibility permitting paradigm jockeying. See the analogy with DJ/VJing? Otherwise multi-paradigm languages have to justify that paradigms aren’t mutually exclusive, eg. http://www.quora.com/What-exactly-is-the-difference-between-the-dataflow-and-behavioral-paradigms-in-VHDL
    As Qt’s MOC is predominant over CopperSpice or C++/CX over Kenny Kerr’s moderncpp, … it’s tough for practitioners to advent at par with standardization folks.
    PERL6 does paradigm jockeying too! But when native performance is wished, C++ wins.

    Reply
    1. Arne Mertz

      Thanks for your thoughts Vipul. I don’t know Perl6, but I agree that the possibility to use multiple paradigms together are a strength of C++ but also a reason for its steep learning curve.

      Reply

  3. thanks for putting light on that specious thought. I wrote same on my POPL essay, instructor turn me down with zero, Now i can pitch in!!
    Just to clarify , if C++ has to be OO Language presence of floating functions and so as “main” is forbidden right?

    Reply
    1. Arne Mertz

      Hi Mahesh, it depends on who you ask, but yes, I think for many a language with free functions is “not fully OO”

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *