See all glossary terms

Pragmatic Programming

Our industry is full of buzzwords, methodologies, and thought leaders. From an external standpoint, it would seem logical to assume programmers, who deal with logic, are logical people. In reality, there isn't really any correlation, and programmers are just as prone to following trends and falling for hype as anyone else... Maybe more so. It seems like dogma is a part of our industry, and it can be really confusing to beginners.
We favor a scientific and rational approach to software development. Instead of applying rules, we prefer to emit hypotheses and test them. We also don't believe any method, technology, or tool is the best, or worst, in the absence of context. To take decisions, we do consider things like performance and processing speed of a tool, but also: the context in which the tool is used, and for which project. A spoon might be better than a fork for eating soup, but not for eating salad.
We recommend not getting emotionally attached to a paradigm, a tool, a framework, or a language. Be willing to review your habits and beliefs, and to change them. We also recommend not reading too much into benchmarks, because synthetic benchmarks are rarely representative of real-world performance. Instead, we recommend measuring the performance of your application in the context in which it will be used.
Pragmatic programming is a philosophy of software development that emphasizes practicality over purity. It's about getting things done, and proceeding with as much simplicity as possible. Pragmatic programmers are not dogmatic about their tools or methodologies; they use whatever works best for the task at hand.

See Also

Related terms in the Glossary