Slashdot Mirror


Bjarne Stroustrup Reflects On 25 Years of C++

eldavojohn writes "Today roughly marks C++'s first release 25 years ago when about six years of Bjarne Stroustrop's life came to fruition in the now pervasive replacement language for C. It achieved ISO standardization in 1998 and its creator regularly receives accolades. Wired's short interview contains some nice anecdotes including 'If I had thought of it and had some marketing sense every computer and just about any gadget would have had a little 'C++ Inside' sticker on it' and 'I'll just note that I consider the idea of one language, one programming tool, as the one and only best tool for everyone and for every problem infantile. If someone claims to have the perfect language he is either a fool or a salesman or both.' There's some surprising revelations in here, too, as his portable computer runs Windows."

3 of 553 comments (clear)

  1. Doom by Purity+Of+Essence · · Score: 5, Informative

    So, for me, the main satisfaction comes from interesting and challenging applications that just might not have been done without C++, or possibly been delayed for many years for lack of a language suitable for demanding real-world applications. ... Videogames like Doom

    Doom was written in C, not C++.

    --
    +0 Meh
  2. Re:the best. by The+Moof · · Score: 5, Informative

    std::string somefunction(){}

    The fact that such a thing can compile is a glaring error.

    Here's something interesting: Visual Studio wouldn't compile it for me (error C4716, complains about no return value, as you had expected), but it compiled on my FreeBSD box without any complaints. Perhaps this is more of a compiler problem than a C++ problem.

  3. Re:the best. by HonIsCool · · Score: 5, Informative

    What you are saying is not correct. The C++ standard says:

    "6.6.3 The return statement
    [...]
    A return statement without an expression can be used only in functions that do not return a value, that is, a function with the return type void, a constructor (12.1), or a destructor (12.4).
    [...]
    Flowing off the end of a function is equivalent to a return with no value; this results in undefined behavior in a value-returning function."

    It is perfectly legal for a compiler to issue a warning for this or even an error. I consider a compiler refusing to compile it a superior compiler.

    --
    "Give me six lines of C++ code written by the most competent programmer, and I will find enough in there to hang him."