Hide this

Results from Google Books

Click on a thumbnail to go to Google Books.

The Pragmatic Programmer: From Journeyman to…

The Pragmatic Programmer: From Journeyman to Master (2000)

by Andrew Hunt

MembersReviewsPopularityAverage ratingMentions
1,928183,546 (4.37)8



Sign up for LibraryThing to find out whether you'll like this book.

No current Talk conversations about this book.

» See also 8 mentions

English (15)  Hungarian (2)  German (1)  Italian (1)  All languages (19)
Showing 1-5 of 15 (next | show all)
There's a lot of hype for this book, but I'd rate it as merely "ok". It has a lot of basic advice that is probably useful for beginner programmers; however, if you've been coding for a while, most of the advice will sound like common sense.

Some of the advice is actionable, but some is theoretical or ideological; some parts are language and framework agnostic, while others have become quite dated; there are a few bits of deep, meaningful advice, but mostly, the book consists of fairly simple aphorisms. It even has a detachable pull out with all the sayings.

It's an easy read, but rarely rises above the programming analog of "eat well and exercise regularly".

Some fun (and funny) quotes:

"Don't live with broken windows."

"Use tracer bullets to find the target."

"Prototyping generates disposable code. Tracer code is lean but complete, and forms part of the skeleton of the final system. Think of prototyping as the reconnaissance and intelligence gather that takes place before a single tracer bullet is fired."

"Check their spelling, first automatically and then by hand. After awl, their are spelling miss steaks that the chequer can knot ketch."

"Distributed systems such as EJB are leading the way into a new age of configurable, dynamic systems."

"We who cut mere stones must always be envisioning cathedrals." - Quarry worker's creed

"The limits of language are the limits of one's world." - Ludwig Wittgenstein

( )
  brikis98 | Nov 11, 2015 |
A great piece of work which serves as a general guide to good programming. It addresses the craft of writing software irrespective of the domain of application and you can feel that the authors have poured years of their own experience into this text. Although written in 2000 (I read it in 2013) I feel like all the points covered are still relevant in a modern environment. It encourages the reader to be critical, precise and determined in their craft and continuously reiterates the need for constant self-improvement and further learning in this trade. The underlying principles of programming such as modularity and don't repeat yourself are very well explained, and there is plenty of information and tips on debugging, refactoring and testing - it's all in here.

This is an excellent book if you have already programmed a bit and are looking for something to elevate your skills up a notch to a more professional level.

As some of the topics in this book were beyond my scope of understanding on the initial reading, I will definitely be re-reading this in the future once I have gained more experience. ( )
  ilokhov | Jan 7, 2015 |
After many years, I finally got around to reading this. I'd already seen much of it, in various locations, so it wasn't as illuminating as it would have been if I had read it in the early 2000's. ( )
  bitplayer | Feb 9, 2014 |
An excellent handbook. Useful for everyone who wants to build high quality software. ( )
  pmerriam | Apr 9, 2012 |
This was an interesting experience because I don't recall ever reading a computer programming book straight through. I'm in the process of segueing back after a few years away, and this was a good route to take -- once familiar advice packaged succinctly, with enough new and enough detail to stretch me a bit into the modern world. I did not do the exercises at the end of each section. Can I still claim that I read it? This is the sort of book that I would typically have on hand as reference, but a reference book is of course more useful if you kinda know what's in it.

(read 10 Feb 2009)
  qebo | Jul 16, 2011 |
Showing 1-5 of 15 (next | show all)
no reviews | add a review
You must log in to edit Common Knowledge data.
For more help see the Common Knowledge help page.
Series (with order)
Canonical title
Original title
Alternative titles
Original publication date
Important places
Important events
Related movies
Awards and honors
For Ellie and Juliet,
Elizabeth and Zachary,
Stuart and Henry
First words
This book will help you become a better programmer.
First, we want to make our systems highly configurable. Not just things such as screen colors and prompt text, but deeply ingrained items such as the choice of algorithms, database products, middleware technology, and user-interface style.
Last words
Disambiguation notice
Publisher's editors
Publisher series
Original language
Book description

Foreword xii

Preface xvii

1 A Pragmatic Philosophy 1

1. The Cat Ate My Source Code 2

2. Software Entropy 4

3. Stone Soup and Boiled Frogs

4. Good-Enough Software 9

5. Your Knowledge Portfolio 12

6. Communicate! 18

2 A Pragmatic Approach 25

7. The Evils of Duplication 26

8. Orthogonality 34

9. Reversibility 44

10. Tracer Bullets 48

11. Prototypes and Post-it Notes 53

12. Domain Languages 57

13. Estimating 64

3 The Basic Tools 71

14. The Power of Plain Text 73

15. Shell Games 77

16. Power Editing 82

17. Source Code Control 86

18. Debugging 90

19. Text Manipulation 99

20. Code Generators 102

4 Pragmatic Paranoia 107

21. Design by Contract 109

22. Dead Programs Tell No Lies 120

23. Assertive Programming 122

24. When to Use Exceptions 125

25. How to Balance Resources 129

5 Bend, or Break 137

26. Decoupling and the Law of Demeter 138

27. Metaprogramming 144

28. Temporal Coupling 150

29. It's Just a View 157

30. Blackboards 165

6 While You Are Coding 171

31. Programming by Coincidence 172

32. Algorithm Speed 177

33. Refactoring 184

34. Code That's Easy to Test 189

35. Evil Wizards 198

7 Before the Project 201

36. The Requirements Pit 202

37. Solving Impossible Puzzles 212

38. Not Until You're Ready 215

39. The Specification Trap 217

40. Circles and Arrows 220

8 Pragmatic Projects 223

41. Pragmatic Teams 224

42. Ubiquitous Automation 230

43. Ruthless Testing 237

44. It's All Writing 248

45. Great Expectations 255

46. Pride and Prejudice 258


A Resources 261

Professional Societies 262

Building a Library 262

Internet Resources 266

Bibliography 275

B Answers to Exercises 279

Index 309
Haiku summary

Amazon.com Amazon.com Review (ISBN 020161622X, Paperback)

Programmers are craftspeople trained to use a certain set of tools (editors, object managers, version trackers) to generate a certain kind of product (programs) that will operate in some environment (operating systems on hardware assemblies). Like any other craft, computer programming has spawned a body of wisdom, most of which isn't taught at universities or in certification classes. Most programmers arrive at the so-called tricks of the trade over time, through independent experimentation. In The Pragmatic Programmer, Andrew Hunt and David Thomas codify many of the truths they've discovered during their respective careers as designers of software and writers of code.

Some of the authors' nuggets of pragmatism are concrete, and the path to their implementation is clear. They advise readers to learn one text editor, for example, and use it for everything. They also recommend the use of version-tracking software for even the smallest projects, and promote the merits of learning regular expression syntax and a text-manipulation language. Other (perhaps more valuable) advice is more light-hearted. In the debugging section, it is noted that, "if you see hoof prints think horses, not zebras." That is, suspect everything, but start looking for problems in the most obvious places. There are recommendations for making estimates of time and expense, and for integrating testing into the development process. You'll want a copy of The Pragmatic Programmer for two reasons: it displays your own accumulated wisdom more cleanly than you ever bothered to state it, and it introduces you to methods of work that you may not yet have considered. Working programmers will enjoy this book. --David Wall

Topics covered: A useful approach to software design and construction that allows for efficient, profitable development of high-quality products. Elements of the approach include specification development, customer relations, team management, design practices, development tools, and testing procedures. This approach is presented with the help of anecdotes and technical problems.

(retrieved from Amazon Thu, 12 Mar 2015 17:58:49 -0400)

(see all 2 descriptions)

No library descriptions found.

Quick Links

Swap Ebooks Audio
99 wanted2 pay

Popular covers


Average: (4.37)
1 2
1.5 1
2 5
3 35
3.5 10
4 151
4.5 21
5 209

Penguin Australia

An edition of this book was published by Penguin Australia.

» Publisher information page

Is this you?

Become a LibraryThing Author.


Help/FAQs | About | Privacy/Terms | Blog | Store | Contact | LibraryThing.com | APIs | WikiThing | Common Knowledge | Legacy Libraries | Early Reviewers | 100,854,834 books! | Top bar: Always visible