Good Quotes
This is a collection of my favorite quotes in English.
Programming
The art of programming is the art of organizing complexity.
Programmers know the benefits of everything and the trade-offs of nothing.
There are only two hard things in Computer Science: cache invalidation and naming things.
If you want everything to be familiar, you will never learn anything new.
Simplicity is prerequisite for reliability.
People seem to misinterpret complexity as sophistication.
Testing shows the presence, not the absence of bugs.
Legacy code is code without tests.
Make illegal states unrepresentable.
The way to shorten programs is using procedures, not to omit vital declarative information.
Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.
A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system.
Quality is a collection of attributes. Various people define those attributes differently, but a commonly accepted collection is portability, reliability, efficiency, human engineering, testability, understandability, and modifiability
Our intellectual powers are rather geared to master static relations and that our powers to visualize processes evolving in time are relatively poorly developed.
I conclude that there are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.
Process
Success is the feeling of contribution.
One of the most important duties of your manager is to keep you out of meetings.
If you want more effective programmers, you will discover that they should not waste their time debugging, they should not introduce the bugs to start with.
The most important factor in attacking complexity is not the tools and techniques that programmers use but rather the quality of the programmers themselves.
Pragmatism is the belief that today’s deadline is more important than future deadlines, possibly all of them combined.
The driving force of a career must come from the individual. Remember: Jobs are owned by the company, you own your career!
If you think it’s expensive to hire a professional, wait until you hire an amateur.
Work expands so as to fill the time available for its completion.
80% of the effects come from 20% of the causes.
Whenever you find yourself on the side of the majority, it is time to pause and reflect.
Design
A designer solves problems within a set of contraints.
The first step to designing anything: ask Why are we doing this? If the answer isn’t clear to you, or just doesn’t exist, you can’t design anything.
Unless it is enjoyable or educational in and of itself, interaction is an essentially negative aspect of information software.
The most effective way of helping people remember is to make it unnecessary.