A software version of this saying is “shipping is a feature”. In general one wants to do the best possible job, but getting something accomplished is usually better than having nothing but unfinished work. I learned this lesson by watching my PhD advisor as he got older. He had become accustomed to producing stunning, nearly perfect physical theories, one of which led to a Nobel Prize (the Lamb Shift) and two of which were also of Nobel Prize quality (the theory of the Mössbauer effect, published 12 years before Mössbauer published his experimental observations, and the Lamb Dip). But as he got older he couldn’t bring himself to publish anything that didn’t meet his criteria for quality. As a result, the world was largely deprived of his later day insights. A software example is the math editing and display facility in Word 2007. It’s tantalizingly close to perfection and we think we know how to finish the job. But it’s missing some important ingredients such as the optimal line breaking algorithm, equation numbering, math Find/Replace, and OpenType enhancements such as ligatures. We hope to incorporate these features at some point; meanwhile the math facility in Word 2007 is fantastic, even though it’s not perfect. A related saying: life is a series of compromises.
My coauthor Rick Shoemaker and I came up with this saying when writing about microcomputers and digital circuitry. What microcomputers accomplished back in the late 1970s, let alone today, seemed really magical. These small computers (monsters compared to today’s laptops) could do so many amazing things. Imagine, we even wrote our microcomputer books on them along with some physics books on the microcomputers of the 1980s! Today most books and published writings in general are written on personal computers. But underneath, it’s all just plain logic.
I came up with this saying watching some of my fellow physicists justify their latest theories. The phenomenon involved is “wishful thinking” and goes way beyond theoretical physics. The wording is a play on the standard mathematical statement, “A necessary and sufficient condition for … is …”. The point is that while intuition is incredibly valuable in the development of a new theory, before that theory can be trusted, it has to be subjected to merciless testing against observation and other known relationships. The same is true of computer programs as well as of theories that don’t involve the physical sciences. The trap is that one may feel a beautiful theory ought to be valid even if closer examination would reveal that it isn’t. Published invalid theories are ultimately discarded due to subsequent scientific scrutiny, but they remain in the scientific literature.
It’s often said that mathematics is the queen of the sciences and it’s sometimes said that physics is the king who raped her. The king part is a terse way of summing up a basic fallacy in what some people think of physics. Many natural phenomena are describable by mathematics, but the descriptions are inevitably approximate. Too many factors enter to ever allow a physical law such as F = ma to apply exactly. So it’s up to the physicist to figure out which mathematical formalisms apply to physical phenomena and how accurately they apply. I came up with this saying in replying to a comment about a paper Marlan Scully and I wrote on the concept of the photon.
This is another saying Rick and I came up with in writing about microcomputers and their logic. Even though next year’s gadgets will be cooler and more powerful than today’s, if you keep waiting for the next great thing you’ll miss out on a wealth of experiences.
Bertrand Russell wrote this in his Introduction to Tractatus Logico-Philosophicus by Lugwig Wittgenstein. It’s kind of long for a saying, but it says it so well. While this saying is valuable advice for developing and documenting physical theories, I’ve used it also in attempting to make computer programs more understandable. Specifically if you’re programming a mathematical expression, it’s much clearer to use the original mathematical notation provided you can teach the computer how to understand it. The linear format for mathematics used in Word 2007 was inspired by this saying. Recently exciting steps along these lines have been made in the Fortress programming language.
[Some other favorite (and famous) sayings: give credit where credit is due (and the Golden Rule in general); make habit work for you; haste makes waste; those who have not studied history are destined to relive it; make sure you have something to show for your efforts; make everything as simple as possible, but not simpler; don’t bite the hand that feeds you; always tell the truth, but don’t go around telling it; don’t look a gift horse in the mouth; think positively; just do it; do something beautiful; focus; enjoy!]