DEV Community

Cover image for Software Engineering Great Quotes
Maxi Contieri
Maxi Contieri

Posted on • Updated on • Originally published at maximilianocontieri.com

Software Engineering Great Quotes

Sometimes a short thought can bring amazing ideas.

There are some great quotes I’ve been collecting.

I use them as inspiration or motto for some articles.

Software Design

There are only two hard things in Computer Science: cache invalidation and naming things.

Phil Karlton

Make illegal states unrepresentable.

Yaron Minsky


First make the change easy (warning: this might be hard), then make the easy change.

Kent Beck


Object-oriented programming languages support encapsulation, thereby improving the ability of software to be reused, refined, tested, maintained, and extended. The full benefit of this support can only be realized if encapsulation is maximized during the design process.

Rebecca Wirfs-Brock


Science is what we understand well enough to explain to a computer. Art is everything else we do.

Donald Knuth


The biggest issue on software teams is making sure everyone understands what everyone else is doing.

Martin Fowler


Object thinking focuses our attention on the problem space rather than the solution space.

David West


We comfort ourselves with the belief that if the customers had just been happy with what they said they needed, the design would have been fine. It’s the customer’s fault for changing the requirements on us.

Robert Martin


There is an art to knowing where things should be checked and making sure that the program fails fast if you make a mistake. That kind of choosing is part of the art of simplification.

Ward Cunningham


You cannot teach beginners top-down programming, because they don't know which end is up.

Tony Hoare


Writing a class without its contract would be similar to producing an engineering component (electrical circuit, VLSI (Very Large Scale Integration) chip, bridge, engine...) without a spec. No professional engineer would even consider the idea.

Bertrand Meyer


A cache with a bad policy is another name for a memory leak.

Rico Mariani


The value of a prototype is in the education it gives you, not in the code itself.

Alan Cooper


When someone says, "I want a programming language in which I need only say what I want done," give him a lollipop.

Alan Perlis


Simple things should be simple, complex things should be possible.

Alan Kay


Object-oriented programming increases the value of these metrics by managing this complexity. The most effective tool available for dealing with complexity is abstraction. Many types of abstraction can be used, but encapsulation is the main form of abstraction by which complexity is managed in object-oriented programming.

Rebecca Wirfs-Brock


Make it correct, make it clear, make it concise, make it fast. In that order.

Wes Dyer


Indeed, the woes of Software Engineering are not due to lack of tools, or proper management, but largely due to lack of sufficient technical competence.

Niklaus Wirth


Hackers are arrogant geek romantics. They lack the attentive spirit of inquiry.

Bruce Sterling


If someone claims to have the perfect programming language, he is either a fool or a salesman or both.

Bjarne Stroustrup


Thinking is not the ability to manipulate language; it's the ability to manipulate concepts.

Leslie Lamport


Programming is not about typing, it's about thinking.

Rich Hickey


There’s nothing more permanent than a temporary hack.

Kyle Simpson


The purpose of software engineering is to control complexity, not to create it.

Pamela Zave


The purpose of computing is insight, not numbers.

Richard Hamming


The trick is to fix the problem you have, rather than the problem you want.

Bram Cohen


Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification.

Bertrand Meyer


Software and cathedrals are much the same. First we build them, then we pray.

Sam Redwine


Software is a gas; it expands to fill its container.

Nathan Myhrvold


I can’t be as confident about computer science as I can about biology. Biology easily has 500 years of exciting problems to work on. It’s at that level

Donald Knuth


I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.

Tony Hoare


Simplicity is prerequisite for reliability.

Edsger W. Dijkstra


Types are essentially assertions about a program. And I think it’s valuable to have things be as absolutely simple as possible, including not even saying what the types are.

Dan Ingalls


Before software can be reusable it first has to be usable.