Bjarne Stroustrup was born on 30 December 1950. He is a Danish computer scientist, most notable for the invention and development of the C++ programming language. He is a visiting professor at Columbia University, and works at Morgan Stanley as a managing director in New York.
Source – Wikipedia.
Top 25 Bjarne Stroustrup Quotes:
- The first law of computer science: Every problem is solved by yet another indirection.
2. C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.
3. 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.
4. The most important single aspect of software development is to be clear about what you are trying to build.
5. The most fundamental problem in software development is complexity. There is only one basic way of dealing with complexity: divide and conquer
6. There are only two kinds of languages: the ones people complain about and the ones nobody uses.
7. Do not proceed with a mess; messes just grow with time.
8. It’s easy to win forgiveness for being wrong; being right is what gets you into real trouble.
9. A program that has not been tested does not work.
10. Proof by analogy is fraud.
11. I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.
12. People who think they know everything really annoy those of us who know we don’t.
13. C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.
14. When done well, software is invisible.
15. If you think it’s simple, then you have misunderstood the problem.
16. From one point of view, all that a program ever does is to compute; that is, it takes some inputs and produces some output.
17. Always be suspicious of “of course”: “of course” is not a reason.
18. 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.
19. You must run before you can walk!
20. Design and programming are human activities; forget that and all is lost.
21. “Legacy code” often differs from its suggested alternative by actually working and scaling.
22. 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.
23. 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.
24. The standard library saves programmers from having to reinvent the wheel.
25. Any verbose and tedious solution is error-prone because programmers get bored.