The Pragmatic Programmer
   HOME

TheInfoList



OR:

''The Pragmatic Programmer: From Journeyman to Master'' is a book about
computer programming Computer programming is the process of performing a particular computation (or more generally, accomplishing a specific computing result), usually by designing and building an executable computer program. Programming involves tasks such as ana ...
and
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
, written by Andrew Hunt and David Thomas and published in October 1999. It is used as a textbook in related university courses. It was the first in a series of books under the label ''The Pragmatic Bookshelf''. A second edition, ''The Pragmatic Programmer: Your Journey to Mastery'' was released in 2019 for the book's 20th anniversary, with major revisions and new material reflecting changes in the industry over the last twenty years. The book does not present a systematic theory, but rather a collection of tips to improve the development process in a pragmatic way. The main qualities of what the authors refer to as a pragmatic programmer are being an
early adopter An early adopter or lighthouse customer is an early customer of a given company, product, or technology. The term originates from Everett M. Rogers' ''Diffusion of Innovations'' (1962). History Typically, early adopters are customers who, in ad ...
, to have fast adaptation, inquisitiveness and critical thinking, realism, and being a jack-of-all-trades. The book uses analogies and short stories to present development methodologies and caveats, for example the
broken windows theory In criminology, the broken windows theory states that visible signs of crime, anti-social behavior and civil disorder create an urban environment that encourages further crime and disorder, including serious crimes. The theory suggests that pol ...
, the story of the stone soup, or the
boiling frog The boiling frog is an apologue describing a frog being slowly boiled alive. The premise is that if a frog is put suddenly into boiling water, it will jump out, but if the frog is put in tepid water which is then brought to a boil slowly, it wi ...
. Some concepts were named or popularised in the book, such as code katas, small exercises to practice programming skills, DRY (or
Don't Repeat Yourself "Don't repeat yourself" (DRY) is a principle of software development aimed at reducing repetition of software patterns, replacing it with abstractions or using data normalization to avoid redundancy. The DRY principle is stated as "Every piece o ...
) and
rubber duck debugging In software engineering, rubber duck debugging (or rubberducking) is a method of debugging code by articulating a problem in spoken or written natural language. The name is a reference to a story in the book '' The Pragmatic Programmer'' in which ...
, a method of debugging whose name is a reference to a story in the book. Andy Hunt and David Thomas gave a GOTO Book Club interview celebrating the 20th anniversary release of the book, covering their journey to writing the book, how the content has evolved since the first release, and what's remained unchanged in the last two decades.


Publication history

* ''The Pragmatic Programmer'', Andrew Hunt and David Thomas, 1999, Addison Wesley, . * ''The Pragmatic Programmer, 20th Anniversary Edition'', David Thomas and Andrew Hunt, 2019, Addison Wesley, .


References


External links


GOTO Book Club interview
Computer programming books Series of books 1999 non-fiction books 2019 non-fiction books Addison-Wesley books Software engineering books Collaborative non-fiction books {{compu-book-stub