Bjarne Stroustrup Quotes

Bjarne Stroustrup delivers sharp, plain-spoken critiques about programming, simplicity and naïve promises.

29 quotes

  1. Within C++, there is a much smaller and cleaner language struggling to get out.

  2. Proof by analogy is fraud.

  3. Design and programming are human activities; forget that and all is lost.

  4. A program that has not been tested does not work.

  5. 'How to test?' is a question that connot be answered in general. 'When to test?' however, does have a general answer: as early and as often as possible.

  6. An organisation that treats its programmers as morons will soon have programmers that are willing and able to act like morons only.

  7. Anybody who comes to you and says he has a perfect language is either naive or a salesman.

  8. There are only two kinds of languages: the ones people complain about and the ones nobody uses.

  9. 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. Bjarne Stroustrup's FAQ: Did you really say that?. Retrieved on 2007-11-15.

  10. People who think they know everything really annoy those of us who know we don't.

  11. C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.

  12. If you think it's simple, then you have misunderstood the problem.

  13. 'There are more useful systems developed in languages deemed awful than in languages praised for being beautiful--many more'.

  14. C++ is my favorite garbage collected language because it generates so little garbage

  15. 'Legacy code' often differs from its suggested alternative by actually working and scaling.

  16. [Corporate programming] is often done to the point where the individual is completely submerged in corporate 'culture' with no outlet for unique talents and skills. Corporate practices can be directly hostile to individuals with exceptional skills and initiative in technical matters. I consider such management of technical people cruel and wasteful.

  17. Always think about how a piece of code should be used: good interfaces are the essence of good code. You can hide all kinds of clever and dirty code behind a good interface if you really need such code.

  18. Any verbose and tedious solution is error-prone because programmers get bored.

  19. Nobody should call themselves a professional if they only knew one language.

  20. It's easy to win forgiveness for being wrong; being right is what gets you into real trouble.

  21. Some software is actually pretty good, by any standard. Think of the Mars Rovers, Google, and the Human Genome Project. Now, that's quality software!

  22. C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg.

  23. I assume that a sufficiently skilled will be able to do anything not explicitly forbidden by the hardware.

  24. I like doing research that has an impact. If I went to a company to make what they call 'real money,' I'd be just trying to make a system work as fast as possible to meet the product and serice deadlines.

  25. This evolution may compromise Java's claim of being simpler than C++, but my guess is that the effort will make Java a better language than it is today.

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

  27. However, when Java is promoted as the sole programming language, its flaws and limitations become serious.

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

  29. Thus, the standard library will serve as both a tool and as a teacher.