CDN$ 45.58
  • List Price: CDN$ 61.99
  • You Save: CDN$ 16.41 (26%)
In Stock.
Ships from and sold by Gift-wrap available.
The Pragmatic Programmer:... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 3 images

The Pragmatic Programmer: From Journeyman to Master Paperback – Oct 20 1999

4.5 out of 5 stars 92 customer reviews

See all 3 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 45.58
CDN$ 30.00 CDN$ 29.28

Harry Potter and the Cursed Child
click to open popover

Frequently Bought Together

  • The Pragmatic Programmer: From Journeyman to Master
  • +
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • +
  • Code Complete (2nd Edition)
Total price: CDN$ 126.76
Buy the selected items together

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Paperback: 352 pages
  • Publisher: Addison-Wesley Professional; 1 edition (Oct. 20 1999)
  • Language: English
  • ISBN-10: 020161622X
  • ISBN-13: 978-0201616224
  • Product Dimensions: 18.3 x 2.3 x 23.1 cm
  • Shipping Weight: 608 g
  • Average Customer Review: 4.5 out of 5 stars 92 customer reviews
  • Amazon Bestsellers Rank: #18,652 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

From Amazon

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.

From the Publisher

As a reviewer I got an early opportunity to read the book you are holding. It was great, even in draft form. Dave Thomas and Andy Hunt have something to say, and they know how to say it. I saw what they were doing and I knew it would work. I asked to write this foreword so that I could explain why.

Simply put, this book tells you how to program in a way that you can follow. You wouldn't think that that would be a hard thing to do, but it is. Why? For one thing, not all programming books are written by programmers. Many are compiled by language designers, or the journalists who work with them to promote their creations. Those books tell you how to talk in a programming language---which is certainly important, but that is only a small part of what a programmer does.

What does a programmer do besides talk in programming language? Well, that is a deeper issue. Most programmers would have trouble explaining what they do. Programming is a job filled with details, and keeping track of those details requires focus. Hours drift by and the code appears. You look up and there are all of those statements. If you don't think carefully, you might think that programming is just typing statements in a programming language. You would be wrong, of course, but you wouldn't be able to tell by looking around the programming section of the bookstore.

In The Pragmatic Programmer Dave and Andy tell us how to program in a way that we can follow. How did they get so smart? Aren't they just as focused on details as other programmers? The answer is that they paid attention to what they were doing while they were doing it---and then they tried to do it better.

Imagine that you are sitting in a meeting. Maybe you are thinking that the meeting could go on forever and that you would rather be programming. Dave and Andy would be thinking about why they were having the meeting, and wondering if there is something else they could do that would take the place of the meeting, and deciding if that something could be automated so that the work of the meeting just happens in the future. Then they would do it.

That is just the way Dave and Andy think. That meeting wasn't something keeping them from programming. It was programming. And it was programming that could be improved. I know they think this way because it is tip number two: Think About Your Work.

So imagine that these guys are thinking this way for a few years. Pretty soon they would have a collection of solutions. Now imagine them using their solutions in their work for a few more years, and discarding the ones that are too hard or don't always produce results. Well, that approach just about defines pragmatic. Now imagine them taking a year or two more to write their solutions down. You might think, That information would be a gold mine. And you would be right.

The authors tell us how they program. And they tell us in a way that we can follow. But there is more to this second statement than you might think. Let me explain.

The authors have been careful to avoid proposing a theory of software development. This is fortunate, because if they had they would be obliged to warp each chapter to defend their theory. Such warping is the tradition in, say, the physical sciences, where theories eventually become laws or are quietly discarded. Programming on the other hand has few (if any) laws. So programming advice shaped around wanna-be laws may sound good in writing, but it fails to satisfy in practice. This is what goes wrong with so many methodology books.

I've studied this problem for a dozen years and found the most promise in a device called a pattern language. In short, a pattern is a solution, and a pattern language is a system of solutions that reinforce each other. A whole community has formed around the search for these systems.

This book is more than a collection of tips. It is a pattern language in sheep's clothing. I say that because each tip is drawn from experience, told as concrete advice, and related to others to form a system. These are the characteristics that allow us to learn and follow a pattern language. They work the same way here.

You can follow the advice in this book because it is concrete. You won't find vague abstractions. Dave and Andy write directly for you, as if each tip was a vital strategy for energizing your programming career. They make it simple, they tell a story, they use a light touch, and then they follow that up with answers to questions that will come up when you try.

And there is more. After you read ten or fifteen tips you will begin to see an extra dimension to the work. We sometimes call it QWAN, short for the quality without a name. The book has a philosophy that will ooze into your consciousness and mix with your own. It doesn't preach. It just tells what works. But in the telling more comes through. That's the beauty of the book: It embodies its philosophy, and it does so unpretentiously.

So here it is: an easy to read---and use---book about the whole practice of programming. I've gone on and on about why it works. You probably only care that it does work. It does. You will see. --Ward Cunningham

See all Product Description

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

Top Customer Reviews

Format: Paperback
This is a decent but not spectacular book, which is written as a series of 46 five to ten page articles on various programming topics, such as "Orthogonality", "Design by Contract" and "The Requirements Pit". The segments are quite heavily cross-referenced (which I didn't find very useful).

The authors dole out a lot of solid advice, which is the book's strength. I found myself disagreeing with very little. There are memorable tips and some good stories. The writing style is also very accessible and conducive to diving in at any page.

The book seems a bit lightweight. The exercises are a little simple and I don't think you'll find yourself going back to this book a lot. Also, the typeface is annoyingly large.

I'd recommend this to someone who has done some programming and understands the syntax and fundamentals but hasn't gotten into programming larger pieces of software. I think that if you have programmed anything significant you won't find much new in here.
6 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
this book sat on my "to read" list for months and i finally picked it up based on the strength of reviews here on Amazon. what a disappointment!! the world really doesn't need another book extolling the virtues of thorough upfront design and intense testing without any specific (or even vague) plans for overcoming the traditional difficulties in realizing both those objectives. yeah yeah we know, if we dont design enough up front, we will pay in the long term anyway. enough, already. i was hoping for some creative and interesting ideas and was utterly disappointed. this book is no more than a crude compilation of half-baked ideas from any number of other similar books.
if you're looking for something interesting, "the mythical man month" is a lot better, even though its dated. "inmates are running the asylum" by alan cooper is also great in that it creatively and productively challenges many of the old saws that books like "pragmatic programmer" trot out time and time again (i particularly like Cooper's rant against letting customers dictate design decisions and product paths).
14 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
There is a great number of positive reviews for this book, and rightfully so, however there are some critics with a good deal of experience in programming that seem to have some majors problems with it. I believe it comes down to this: it is packed full of common sense and great tips but it's all advice that anyone that has had a few years of experience will probably have picked up already. I wish I had come upon this book as I was entering the job market, but most of it just made me nod in agreement. While I didn't get the epiphany other books managed to provide, even for an experienced programmer, it is good to be reminded of those sound advices and of why exactly we do the things we do the way we do them.

All the tips are covered superficially, but with enough depth that you understand the what and the why, and can still go to the next one quickly. Further chapters don't depend on previous ones, so you can jump in at any topic that interests you. As such, it makes a good a-tip-a-day read.

While the main advice it provides is simply "care about your craft", it is advice I wish more would follow and this book just might convince some and teach the beginners some of what that actually entails. In the end, the simplicity of this book is what makes it such an interesting read.

The font is indeed a bit too big to be comfortable on the eyes, but the chapters are short enough that you aren't forced to strain for hours. The layout of the chapters also seems a bit random.
4 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
I read the glowing reviews here and then browsed it at the bookstore...where it looked pretty good...When I took it home and started reading it, a different picture evolved...Here are a few nuggets:
1. Much of what the authors espouse is just common sense and would be picked up or developed by most bright developers on their own.
2. Some of what the authors espouse is just wrong...we have suggestions that if your code is correct then it will take little effort to make it run on Win16, Win 32 , and different flavors of Unix or whatever environment. I disagree. This would only be true for the most trivial programs. Even using a factory pattern, as opposed to the usual compiler switches, one could build such a losely coupled and modern system to run on different environments...but it would hardly be easy to do because the different environments require separate (and hardwon!) skillsets/knowledge...not easy to find in one developer...Perhaps the authors should try their hand on some cross-browser, cross operating system DHTML...and make sure it runs on all versions of Netscape to boot.
3. The authors elevating of the text editor and command line over IDE is just non-sense...and again wrong...they say you cannot configure the IDEs...anyone who has written an add-in for VB knows it is indeed possible.
4. I could go on, but I will conclude with their total lack of understanding of Physics which they quote wrongly...the Universe does not split(Shroedinger's cat) after a measurement and Heisenberg said it was ,IN PRINCIPAL, impossible to perform certain measurements without disturbing the system...On the other hand, it is perfectly possible to perform debugging without disturbing the code...
5. And they have the audacity to call their book "...
Read more ›
4 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most recent customer reviews