C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.
If you think it's simple, then you have misunderstood the problem.
The most fundamental problem in software development is complexity. There is only one basic way of dealing with complexity: divide and conquer
C++ is designed to allow you to express ideas, but if you don't have ideas or don't have any clue about how to express them, C++ doesn't offer much help.
A program that has not been tested does not work.
There's an old story about the person who wished his computer were as easy to use as his telephone. That wish has come true, since I no longer know how to use my telephone.
When done well, software is invisible.
The first law of computer science: Every problem is solved by yet another indirection.
The most important single aspect of software development is to be clear about what you are trying to build.
It's easy to win forgiveness for being wrong; being right is what gets you into real trouble.
Proof by analogy is fraud.
Java isn't platform independent; it is a platform
Anybody who comes to you and says he has a perfect language is either naive or a salesman.
C++ is my favorite garbage collected language because it generates so little garbage
The standard library saves programmers from having to reinvent the wheel.
There is no one "root of all evil" in software development. Design is hard in many ways. People tend to underestimate the intellectual and practical difficulties involved in building a significant system involving software. It is not and will not be reduced to a simple mechanical "assembly line" process. Creativity, engineering principles, and evolutionary change are needed to create a satisfactory large system.
Our civilization depends critically on software, and we have a dangerously low degree of professionalism in the computer fields
An organisation that treats its programmers as morons will soon have programmers that are willing and able to act like morons only.
Design and programming are human activities; forget that and all is lost.
"Legacy code" often differs from its suggested alternative by actually working and scaling.
Any verbose and tedious solution is error-prone because programmers get bored.
Destructors for virtual base classes are executed in the reverse order of their appearance in a depth-first left-to-right traversal of the directed acyclic graph of base classes.
Certainly not every good program is object-oriented, and not every object-oriented program is good.
How to test?" is a question that cannot be answered in general. "When to test?" however, does have a general answer: as early and as often as possible.
And no, I'm not a walking C++ dictionary. I do not keep every technical detail in my head at all times. If I did that, I would be a much poorer programmer. I do keep the main points straight in my head most of the time, and I do know where to find the details when I need them.
Follow AzQuotes on Facebook, Twitter and Google+. Every day we present the best quotes! Improve yourself, find your inspiration, share with friends
or simply: