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
Code Smell 31 - Accidental Methods on Business Objects
Maxi Contieri ・ Nov 22 '20
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
Code Smell 21 - Anonymous Functions Abusers
Maxi Contieri ・ Nov 10 '20
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
Code Smell 43 - Concrete Classes Subclassified
Maxi Contieri ・ Dec 5 '20
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.