Richard E. Pattis

Image of Richard E. Pattis
When debugging, novices insert corrective code; experts remove defective code.
- Richard E. Pattis
Collection: Quality
Image of Richard E. Pattis
If you cannot grok the overall structure of a program while taking a shower, you are not ready to code it.
- Richard E. Pattis
Collection: Simplicity
Image of Richard E. Pattis
Programming languages, like pizzas, come in only too sizes; too big and too small.
- Richard E. Pattis
Collection: Learning
Image of Richard E. Pattis
Code should run as fast as necessary, but no faster; something important is always traded away to increase speed.
- Richard E. Pattis
Collection: Running
Image of Richard E. Pattis
When teaching a rapidly changing technology, perspective is more important than content.
- Richard E. Pattis
Collection: Teaching
Image of Richard E. Pattis
The three most important aspects of debugging and real estate are the same: Location, Location, and Location.
- Richard E. Pattis
Collection: Real
Image of Richard E. Pattis
A class, in Java, is where we teach objects how to behave.
- Richard E. Pattis
Collection: Learning
Image of Richard E. Pattis
The structure of a software system provides the ecology in which code is born, matures, and dies. A well-designed habitat allows for the successful evolution of all the components needed in a software system.
- Richard E. Pattis
Collection: Learning
Image of Richard E. Pattis
When building a complex system, having crackerjack programmers (who can make any design work, even a bad one) can be a liability. The result, after lots of effort, is a working system that cannot be easily maintained or upgraded. Good -but not great- programmers would fail early, causing a realization that the system must be redesigned, and then reimplemented. The extra cost is paid once, early in the system's cycle (when it is cheap), instead of repeatedly paid late in the system's cycle (when it is more expensive).
- Richard E. Pattis
Collection: Learning
Image of Richard E. Pattis
The discipline of programming is most like sorcery. Both use precise language to instruct inanimate objects to do our bidding. Small mistakes in programs or spells can lead to completely unforseen behavior: e.g., see the story, "The Sorcerer's Apprentice". Neither study is easy: "...her [Galinda's] early appetite for sorcery had waned once she'd heard what a grind it was to learn spells and, worse, to understand them." from the book "Wicked" by G. Maguire.
- Richard E. Pattis
Collection: Mistake