Last modified on 2 September 2013, at 15:23
Bjarne Stroustrup, creator of C++

C++ (pronounced "see plus plus") is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises both high-level and low-level language features. Developed by Bjarne Stroustrup starting in 1979 at Bell Labs, C++ was originally named C with Classes, adding object oriented features, such as classes, and other enhancements to the C programming language

CONTENT : A - F , G - L , M - R , S - Z , See also , External links


Quotes are arranged alphabetically by author

A - FEdit

  • Today, we're at the beginning stages of the next level. Executable UML is the next logical, and perhaps inevitable, evolutionary step in the ever-rising level of abstraction at which programmers express software solutions. Rather than elaborate an analysis product into a design product and then write code, application developers of the future will use tools to translate abstract application constructs into executable entities. Someday soon, the idea of writing an application in Java or C++ will seem as absurd as writing an application in assembler does today.
    • Grady Booch (2002) "The Limits of Software". Lecture September 2002
  • "Tsk, tsk," said the Hatter, "what a mess you've made."

    "It is perfectly fine," replied Alice calmly. "I will leave it for the garbage collection service to recover."

    "Don't expect any garbage collection here. Furthermore, your polymorphic variables won't ever be properly deleted, because you haven't declared your destructor to be virtual."

    "My what to be what?" said Alice, starting to get worried.

    "Declare your destructor. You must have a destructor. Everything that is constructed should be destroyed; it's only natural. Furthermore, if you are ever not quite what you seem, you should declare yourself to be virtual."

    "A rule to remember!" roared the Red Queen. "Never make a mess without cleaning it up first."

    "You can ignore her," whispered the Dormouse, picking up the tea cake Alice had just set aside, "but you shouldn't cast away const so lightly."

    Alice began to feel that this new world she found herself in was not quite the same as the cozy sitting room she had just left.

    • Timothy Budd (1999) C++ for Java Programmers. p. v
  • One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.
    • Robert Firth; cited in: Jane Sales (2005) Symbian OS Internals: Real-time Kernel Programming. p. 45

G - LEdit

  • Writing in C or C++ is like running a chain saw with all the safety guards removed.
    • Bob Gray of consulting firm Virtual Solutions; cited in Byte (1998) Vol 23, Nr 1-4. p. 70

M - REdit

  • Everyone has an individual background. Someone may come from Python, someone else may come from Perl, and they may be surprised by different aspects of the language. Then they come up to me and say, 'I was surprised by this feature of the language, so Ruby violates the principle of least surprise.' Wait. Wait. The principle of least surprise is not for you only. The principle of least surprise means principle of least my surprise. And it means the principle of least surprise after you learn Ruby very well. For example, I was a C++ programmer before I started designing Ruby. I programmed in C++ exclusively for two or three years. And after two years of C++ programming, it still surprises me.
  • And C++ programming languages, we own those, have licensed them out multiple times, obviously. We have a lot of royalties coming to us from C++.
  • I believe C++ instills fear in programmers, fear that the interaction of some details causes unpredictable results. Its unmanageable complexity has spawned more fear-preventing tools than any other language, but the solution should have been to create and use a language that does not overload the whole goddamn human brain with irrelevant details.
  • C++ is a language strongly optimized for liars and people who go by guesswork and ignorance.
  • A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
    • Waldi Ravens, quoted in: Magnus Lie Hetland (2002) Practical Python. p. xix

S - ZEdit

  • You can use C++ if you want with GNOME, but we don't assume that you're going to write C++. It's to a large extent based on Scheme, which is a dialect of LISP. LISP being the most powerful and cleanest of languages, that's the language that's the GNU project always prefers.
  • Within C++, there is a much smaller and cleaner language struggling to get out.
  • In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg.
  • C gives the programmer what the programmer wants; few restrictions, few complaints... C++ maintains the original spirit of C, that the programmer not the language is in charge.
  • The major cause of complaints is C++ undoubted success. As someone remarked: There are only two kinds of programming languages: those people always bitch about and those nobody uses.
  • C++ is in that inconvenient spot where it doesn't help make things simple enough to be truly usable for prototyping or simple GUI programming, and yet isn't the lean system programming language that C is that actively encourages you to use simple and direct constructs.
  • C++: an octopus made by nailing extra legs onto a dog.
    • Steve Taylor; cited in Eric S. Raymond (2003) The Art of UNIX Programming. p. 328
  • A system composed of 100,000 lines of C++ is not be sneezed at, but we don't have that much trouble developing 100,000 lines of COBOL today. The real test of OOP will come when systems of 1 to 10 million lines of code are developed.
    • Ed Yourdon (1990) cited in: Andreas Paepcke (1991) Object-oriented Programming Systems, Languages and Applications. p.166

External linksEdit

Wikipedia has an article about: