The Pragmatic Programmer Quotes

Rate this book
Clear rating
The Pragmatic Programmer: From Journeyman to Master The Pragmatic Programmer: From Journeyman to Master by Andy Hunt
23,877 ratings, 4.33 average rating, 1,503 reviews
The Pragmatic Programmer Quotes Showing 91-120 of 240
“Also consider just what you're doing in the code itself. A simple O(n2) loop may well perform better that a complex, O(n lg(n)) one for smaller values of n, particularly if the O(n lg(n)) algorithm has an expensive inner loop.”
Andrew Hunt, The Pragmatic Programmer
“Doctor, it hurts when I do this. Then don’t do that.”
David Thomas, The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
“If you can’t describe what you are doing as a process, you don’t know what you’re doing.”
David Thomas, The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
“It’s much easier to find and diagnose the problem by crashing early, at the site of the problem.”
David Thomas, The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
“A programação é uma arte. Basicamente, se resume a conseguir que um computador faça o que você quer que ele faça (ou o que seu usuário quer que ele faça). Como programador, você é parte ouvinte, parte conselheiro, parte intérprete e parte definidor. Tenta capturar requisitos vagos e encontrar uma maneira de expressá-los para que uma simples máquina possa concretizá-los. Tenta documentar seu trabalho para que outras pessoas possam entendê-lo e tenta construir seu trabalho de um modo que outros possam se basear nele. Procura fazer tudo isso contra o implacável decorrer do tempo do projeto. Você faz pequenos milagres diariamente.”
Andrew Hunt, The Pragmatic Programmer: From Journeyman to Master
“This book will help you become a better programmer.”
David Thomas, The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
“Often you’ll be in situations where trade-offs are involved. Surprisingly, many users would rather use software with some rough edges today than wait a year for the shiny, bells-and-whistles version (and in fact what they will need a year from now may be completely different anyway). Many IT departments with tight budgets would agree. Great software today is often preferable to the fantasy of perfect software tomorrow. If you give your users something to play with early, their feedback will often lead you to a better eventual solution (see Topic 12, ​Tracer Bullets​).”
David Thomas, The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
“When naming things, you’re constantly looking for ways of clarifying what you mean, and that act of clarification will lead you to a better understanding of your code as you write it.”
Andy Hunt, The Pragmatic Programmer: From Journeyman to Master
“We believe that the major benefits of testing happen when you think about and write the tests, not when you run them.”
Andy Hunt, The Pragmatic Programmer: From Journeyman to Master
“Civilization advances by extending the number of important operations we can perform without thinking.”
Andy Hunt, The Pragmatic Programmer: From Journeyman to Master
“With a tracer bullet approach, you can implement very small bits of functionality very quickly, and get immediate feedback on how well your team communicates and delivers.”
Andy Hunt, The Pragmatic Programmer: From Journeyman to Master
“Tracer bullets show what you’re hitting. This may not always be the target. You then adjust your aim until they’re on target. That’s the point. It’s the same with tracer code.”
Andrew Hunt, The Pragmatic Programmer: From Journeyman to Master
“Two or more things are orthogonal if changes in one do not affect any of the others. In a well-designed system, the database code will be orthogonal to the user interface: you can change the interface without affecting the database, and swap databases without changing the interface.”
Andrew Hunt, The Pragmatic Programmer: From Journeyman to Master
“Computer languages influence how you think about a problem, and how you think about communicating. Every language comes with a list of features: buzzwords such as static versus dynamic typing, early versus late binding, functional versus OO, inheritance models, mixins, macros”
Andrew Hunt, The Pragmatic Programmer: From Journeyman to Master
“One broken window, left unrepaired for any substantial length of time, instills in the inhabitants of the building a sense of abandonment—a sense that the powers that be don’t care about the building. So another window gets broken. People start littering. Graffiti appears. Serious structural damage begins. In a relatively short span of time, the building becomes damaged beyond the owner’s desire to fix it, and the sense of abandonment becomes reality.”
Andrew Hunt, The Pragmatic Programmer: From Journeyman to Master
“Easy!,” you think. “Gently lower the collective pitch lever and you’ll descend gracefully to the ground, a hero.” However, when you try it, you discover that life isn’t that simple. The helicopter’s nose drops, and you start to spiral down to the left. Suddenly you discover that you’re flying a system where every control input has secondary effects. Lower the left-hand lever and you need to add compensating backward movement to the right-hand stick and push the right pedal. But then each of these changes affects all of the other controls again. Suddenly you’re juggling an unbelievably complex system, where every change impacts all the other inputs. Your workload is phenomenal: your hands and feet are constantly moving, trying to balance all the interacting forces.
Helicopter controls are decidedly not orthogonal.”
Andy Hunt, The Pragmatic Programmer: From Journeyman to Master
“One broken window, left unrepaired for any substantial length of time, instills in the inhabitants of the building a sense of abandonment—a sense that the powers that be don’t care about the building. So another window gets broken. People start littering. Graffiti appears. Serious structural damage begins. In a relatively short span of time, the building becomes damaged beyond the owner’s desire to fix it, and the sense of abandonment becomes reality.”
Andy Hunt, The Pragmatic Programmer: From Journeyman to Master
“Managing a knowledge portfolio is very similar to managing a financial portfolio.”
Andy Hunt, The Pragmatic Programmer: From Journeyman to Master
“Algorithms [SW11]An Introduction to the Analysis of Algorithms [SF13]”
David Thomas, The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
“Your knowledge becomes out of date as new techniques, languages, and environments are developed”
David Thomas, The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
“Just tell yourself, “No broken windows.”
David Thomas, The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
“Let your instincts contribute to your performance.”
Andrew Hunt, The Pragmatic Programmer
“Listen to Nagging Doubts—Start When You're Ready”
Andrew Hunt, The Pragmatic Programmer
“Don't Think Outside the Box—Find the Box”
Andrew Hunt, The Pragmatic Programmer
“Requirements are not architecture. Requirements are not design, nor are they the user interface. Requirements are need.”
Andrew Hunt, The Pragmatic Programmer
“Don't be a slave to any notation;”
Andrew Hunt, The Pragmatic Programmer
“The O() notation puts an upper bound on the value of the thing we're measuring (time, memory, and so on).”
Andrew Hunt, The Pragmatic Programmer
“nonorthogonal systems are inherently more complex to change and control. When components of any system are highly interdependent, there is no such thing as a local fix.”
Andrew Hunt, The Pragmatic Programmer: From Journeyman to Master
“you shouldn’t make decisions based on the internal state of an object and then update that object.”
David Thomas, The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition
“When in doubt, it always pays to reduce scope.”
David Thomas, The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition