Quote of the Day
If you enjoy programming, philosophy, math, or any number of geeky topics, you're in the right place. Every day, I'll post a random quote from my extensive collection of Kindle highlights. Quotes do not necessarily reflect my views or opinions. In fact, part of my epistemic process is to consume a wide variety of contradictory material.
When people say, “It’s inevitable that a large program will have bugs,” they don’t mean inevitable in the sense, “It’s inevitable that cars will have accidents.” What they mean is, “We don’t have the proper software engineering techniques to root out all defects so we’re not even going to attempt to remove them all—and we’re not going to improve the techniques either.”
— Adam Barr, The Problem with Software
Since failure can arise from many causes, product processes typically demand consensus by many people, each expert in a separate cause of potential failure. Such consensus stifles great design in several ways. First, each expert watchdog is paid to avoid mistakes, not to make great things happen.
— Frederick P. Brooks Jr., The Design of Design
Many software researchers advocate rather than investigate. As a result, (a) some advocated concepts are worth far less than their advocates believe, and (b) there is a shortage of evaluative research to help determine what the value of such concepts really is.
— Robert L. Glass, Facts and Fallacies of Software Engineering
Dealing with complexity is the most important challenge in software design.
— JohnOusterhout, A Philosophy of Software Design
There’s this Pollyannaish notion that the most important thing to do when working together is stay positive and get along, to not hurt anyone’s feelings. Well, that’s just wrong. Maybe debate is going to be less pleasant, but it will always be more productive. True creativity requires some trade-offs.
— Jonah Lehrer, Group Think: The Brainstorming Myth
389 post articles, 78 pages.