Bjarne Stroustrup

Image of Bjarne Stroustrup
Thus, the standard library will serve as both a tool and as a teacher.
- Bjarne Stroustrup
Collection: Teacher
Image of Bjarne Stroustrup
After all, C++ isn't a perfect match for Java's design aims either.
- Bjarne Stroustrup
Collection: Design
Image of Bjarne Stroustrup
I find languages that support just one programming paradigm constraining.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
The standard library saves programmers from having to reinvent the wheel.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
People who passionately want to believe that the world is basically simple react to this with a fury that goes beyond what I consider appropriate for discussing a programming language.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
Certainly not every good program is object-oriented, and not every object-oriented program is good.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
Clearly, I reject the view that there is one way that is right for everyone and for every problem.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
It is easy to study the rules of overloading and of templates without noticing that together they are one of the keys to elegant and efficient type-safe containers.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
Defining OO as based on the use of class hierarchies and virtual functions is also practical in that it provides some guidance as to where OO is likely to be successful.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
However, when Java is promoted as the sole programming language, its flaws and limitations become serious.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
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.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
First, I'd like to see the basic tools such as compilers, debuggers, profilers, database interfaces, GUI builders, CAD tools, and so forth fully support the ISO standard.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
My list of basic tools is a partial answer to the question about what has changed: Over the past few years, large numbers of programmers have come to depend on elaborate tools to interface code with systems facilities.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
I would encourage nonproprietary standards for tools and libraries.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
With the increasing importance of standards for system-level objects such as COM and CORBA, it is particularly important that the C++ bindings to those be clean, well documented, and simple to use.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
Personally, I look forward to better tools for analyzing C++ source code.
- Bjarne Stroustrup
Image of Bjarne Stroustrup
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.
- Bjarne Stroustrup
Collection: Funny
Image of Bjarne Stroustrup
If you think it's simple, then you have misunderstood the problem.
- Bjarne Stroustrup
Collection: Simple
Image of Bjarne Stroustrup
The most fundamental problem in software development is complexity. There is only one basic way of dealing with complexity: divide and conquer
- Bjarne Stroustrup
Collection: Fundamentals
Image of Bjarne Stroustrup
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.
- Bjarne Stroustrup
Collection: Ideas
Image of Bjarne Stroustrup
A program that has not been tested does not work.
- Bjarne Stroustrup
Collection: Doe
Image of Bjarne Stroustrup
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.
- Bjarne Stroustrup
Collection: Technology
Image of Bjarne Stroustrup
When done well, software is invisible.
- Bjarne Stroustrup
Collection: Done
Image of Bjarne Stroustrup
The most important single aspect of software development is to be clear about what you are trying to build.
- Bjarne Stroustrup
Collection: Learning
Image of Bjarne Stroustrup
The first law of computer science: Every problem is solved by yet another indirection.
- Bjarne Stroustrup
Collection: Law
Image of Bjarne Stroustrup
It's easy to win forgiveness for being wrong; being right is what gets you into real trouble.
- Bjarne Stroustrup
Collection: Pain
Image of Bjarne Stroustrup
Proof by analogy is fraud.
- Bjarne Stroustrup
Collection: Analogies
Image of Bjarne Stroustrup
Java isn't platform independent; it is a platform
- Bjarne Stroustrup
Collection: Independent
Image of Bjarne Stroustrup
Anybody who comes to you and says he has a perfect language is either naive or a salesman.
- Bjarne Stroustrup
Collection: Perfect
Image of Bjarne Stroustrup
C++ is my favorite garbage collected language because it generates so little garbage
- Bjarne Stroustrup
Collection: Littles
Image of Bjarne Stroustrup
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.
- Bjarne Stroustrup
Collection: Creativity
Image of Bjarne Stroustrup
Our civilization depends critically on software, and we have a dangerously low degree of professionalism in the computer fields
- Bjarne Stroustrup
Collection: Civilization
Image of Bjarne Stroustrup
"Legacy code" often differs from its suggested alternative by actually working and scaling.
- Bjarne Stroustrup
Collection: Legacy
Image of Bjarne Stroustrup
Design and programming are human activities; forget that and all is lost.
- Bjarne Stroustrup
Collection: Design
Image of Bjarne Stroustrup
An organisation that treats its programmers as morons will soon have programmers that are willing and able to act like morons only.
- Bjarne Stroustrup
Collection: Organization
Image of Bjarne Stroustrup
Any verbose and tedious solution is error-prone because programmers get bored.
- Bjarne Stroustrup
Collection: Errors
Image of Bjarne Stroustrup
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.
- Bjarne Stroustrup
Collection: Order
Image of Bjarne Stroustrup
There are more useful systems developed in languages deemed awful than in languages praised for being beautiful - many more.
- Bjarne Stroustrup
Collection: Beautiful
Image of Bjarne Stroustrup
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.
- Bjarne Stroustrup
Collection: Doe
Image of Bjarne Stroustrup
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!
- Bjarne Stroustrup
Collection: Thinking
Image of Bjarne Stroustrup
Tom [Cargil]s suggestion with a further idea: Propsers of new [C++] features should be required to donate a kidney. That would - Jim [Waldo] pointed out - make people think hard before proposing, and even people without any sense would propose at most two extensions.
- Bjarne Stroustrup
Collection: Thinking
Image of Bjarne Stroustrup
The connection between the language in which we think/program and the problems and solutions we can imagine is very close. For this reason restricting language features with the intent of eliminating programmer errors is at best dangerous.
- Bjarne Stroustrup
Collection: Thinking
Image of Bjarne Stroustrup
To many managers, getting rid of the arrogant, undisciplined, over-paid, technology-obsessed, improperly-dressed etc. programmers would appear to be a significant added benefit
- Bjarne Stroustrup
Collection: Technology
Image of Bjarne Stroustrup
Nobody should call themselves a professional if they only knew one language.
- Bjarne Stroustrup
Collection: Language
Image of Bjarne Stroustrup
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.
- Bjarne Stroustrup
Collection: Details
Image of Bjarne Stroustrup
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.
- Bjarne Stroustrup
Collection: Clever
Image of Bjarne Stroustrup
Most of the programmers in ten years will be us, and we won't get much smarter.
- Bjarne Stroustrup
Collection: Science
Image of Bjarne Stroustrup
It is my firm belief that all successful languages are grown and not merely designed from first principles
- Bjarne Stroustrup
Collection: Learning
Image of Bjarne Stroustrup
[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.
- Bjarne Stroustrup
Collection: Unique
Image of Bjarne Stroustrup
More good code has been written in languages denounced as "bad'' than in languages proclaimed "wonderful'' - much more.
- Bjarne Stroustrup
Collection: Simplicity