Software, Architecture and Design Quotes
Tuesday 29 October 2024 β’ π 6 min read β’ back to Blog β’ edit on Github
These are some of the quotes that I found interesting, related to software, software architecture and software design.
Have a good read π.
Nothing is more dangerous than an idea when it is the only one you have.
β Emile Chartier Alain
Defer the actual decision until a decision can be made more responsibly, based on actual knowledge, but not so late that it is not possible to take advantage of the knowledge.
β Richard Monson-Haefel
You donβt drive the architecture, the requirements do. You do your best to serve their needs.
β Richard Monson-Haefel
How do you make two systems loosely coupled? Don't connect them.
β David Orchard
Data is a precious thing and will last longer than the systems themselves.
β Tim Berners-Lee
Deleting dead code is not a technical problem; it is a problem of mindset and culture.
β Kevlin Henney
Adding manpower to a late software project makes it later.
β Fred Brooks
Work expands so as to fill the time available for its completion.
β Cyril Northcote Parkinson
Be conservative in what you do, be liberal in what you accept from others.
β Jon Postel
The connections between modules are the assumptions which the modules make about each other.
β David Parnas
Make it work, make it right, make it fast.
β Kent Beck
Testing is not the point. The point is about responsibility.
β Kent Beck
Sometimes the problem has to mature before the solution can mature.
β Kent Beck
If testing costs more than not testing, then don't test.
β Kent Beck
An antipattern is just like a pattern, except that instead of a solution it gives something that looks superficially like a solution but isn't one.
β Andrew Koenig
Program testing can be used to show the presence of bugs, but never to show their absence.
β Edsger W. Dijkstra
Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.
β Edsger W. Dijkstra
Simplicity is prerequisite for reliability.
β Edsger W. Dijkstra
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
β Edsger W. Dijkstra
and one for the balance π
I don't know how many of you have ever met Dijkstra, but you probably know that arrogance in computer science is measured in nano-Dijkstras.
β Alan Kay
No matter what they tell you, it's always a people problem.
β Gerald Weinberg
A system is never finished being developed until it ceases to be used.
β Gerald Weinberg
The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.
β Ward Cunningham
What's the simplest thing that could possibly work?
β Ward Cunningham
Simple, not easy. There's a difference.
β Ron Jeffries
If there's only one answer, then this must not be a very interesting topic.
β Ron Jeffries
To change the architecture of a software-intensive system ensconced in a large organization, you often have to change the architecture of the organization. And ultimately, that is a political problem, not just a technical one.
β Grady Booch
All architecture is design, but not all design is architecture. Architecture represents the set of significant design decisions that shape the form and the function of a system, where significant is measured by cost of change.
β Grady Booch
The amateur software engineer is always in search of magic.
β Grady Booch
Hierarchy is a kind of order of abstractions.
β Grady Booch
Architectural decisions are design decisions that are hard to make or costly to change.
β Olaf Zimmermann
All architectures become iterative because of unknown unknowns, Agile just recognizes this and does it sooner.
β Mark Richards
I've learned to always avoid saying "always".
β Martin Fowler
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
β Martin Fowler
So I hope Iβve made clear that imposing agile methods is a very red flag.
β Martin Fowler
I would rather have questions that can't be answered than answers that can't be questioned.
β Richard Feynman
I learned very early the difference between knowing the name of something and knowing something.
β Richard P. Feynman
Religion is a culture of faith; science is a culture of doubt.
β Richard P. Feynman
Stupidity is knowing the truth, seeing the truth but still believing the lies. And that is more infectious than any other disease.
β Richard P. Feynman
The first principle is that you must not fool yourself and you are the easiest person to fool.
β Richard P. Feynman
There are only two hard things in Computer Science: cache invalidation and naming things.
β Phil Karlton
see also: two hard things
or a more humorous variation π (by unknown):
There are two things difficult in programming:
- (1) naming things
- (2) cache invalidation
- (3) off-by-1 errors
- (7) async callbacks
Architecture is about the important stuff (whatever that is).
β Ralph Johnson
Reports that say that something hasn't happened are always interesting to me, because as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknownsβthe ones we don't know we don't know. And if one looks throughout the history of our country and other free countries, it is the latter category that tends to be the difficult ones.
β Donald Rumsfeld
The only source of knowledge is experience.
β Albert Einstein
If you can't explain it simply, you don't understand it well enough.
β Albert Einstein
Strive not to be a success, but rather to be of value.
β Albert Einstein
Insanity is doing the same thing over and over and expecting different results.
β Albert Einstein / Rita Mae Brown