C++

From Wikiquote
Jump to: navigation, search
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[edit]

Quotes are arranged alphabetically by author

A - F[edit]

  • 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
  • The complexity of C++ (even more complexity has been added in the new C++), and the resulting impact on productivity, is no longer justified. All the hoops that the C++ programmer had to jump through in order to use a C-compatible language make no sense anymore -- they're just a waste of time and effort. Now, Go makes much more sense for the class of problems that C++ was originally intended to solve.

G - L[edit]

  • 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 - R[edit]

  • 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.

S - Z[edit]

  • 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.
  • In other words, the only way to do good, efficient, and system-level and portable C++ ends up to limit yourself to all the things that are basically available in C. And limiting your project to C means that people don't screw that up, and also means that you get a lot of programmers that do actually understand low-level issues and don't screw things up with any idiotic "object model" crap.
  • If you want a fancier language, C++ is absolutely the worst one to choose. If you want real high-level, pick one that has true high-level features like garbage collection or a good system integration, rather than something that lacks both the sparseness and straightforwardness of C, and doesn't even have the high-level bindings to important concepts.
  • 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
  • When the three of us [Thompson, Rob Pike, and Robert Griesemer] got started, it was pure research. The three of us got together and decided that we hated C++. [laughter] ... [Returning to Go,] we started off with the idea that all three of us had to be talked into every feature in the language, so there was no extraneous garbage put into the language for any reason.
  • 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 links[edit]

Wikipedia
Wikipedia has an article about: