Product Description
If I'm putting together a project, it's the authors of this book that I want. . . . And failing that I'd settle for people who've read their book." -- Ward Cunningham Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how to - Fight software rot;
- Avoid the trap of duplicating knowledge;
- Write flexible, dynamic, and adaptable code;
- Avoid programming by coincidence;
- Bullet-proof your code with contracts, assertions, and exceptions;
- Capture real requirements;
- Test ruthlessly and effectively;
- Delight your users;
- Build teams of pragmatic programmers; and
- Make your developments more precise with automation.
Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
|
Amazon.com Review
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.
|
Absolute Must-have!
This book is an absolute must-have for any software developer worth his/her salary or billable hours.
"The Pragmatic Programmer" is filled with everyday scenarios and advice that any developer can begin to apply the first workday after beginning this book.
It is definitely a purchase you won't regret.
|
Handy but Over-Ambitious
This is one of those books with a title that sparks your curiosity and eventually makes you get it. From the beginning, It seemed to me a bit weird because it's a kind of self-help manual for programmers. The book is well-written, easy to read and sometimes funny. However, the theme is too ambitious and that's why you feel a bit disapointed in the end. Its biggest mistake is that it promises more than it can deliver.
In a nutshell, "The Pragmatic Programmer" is a rundown of best practices that must command any software construction process. Eight chapters dedicated to common mistakes you must avoid, handy tools you should use in your daily-basis, testing policies, automatic builds, source-code control and so forth. It's plenty of quotes and truths such as: "Prototype to Learn", "Design with Contracts", "Work with a User to Think Like a User", etc.
In short, the book is a compilation of rules, patterns, practices, tips and tricks and lot of common sense. It could be useful for junior programmers, project managers that have never written a line of code and for all of those, so-called, "seniors" who have never read a book about software construction.
Pretty handy... but it's far away from The Holy Bible.
|
Pragmatic advice for programmers, project managers, and anyone in the programming or knowledge fields
A readable, insightful look into the programming trade, designed to give purpose to an otherwise undervalued field. Andy and Dave's perspective on programming offers significant reference material, as well as inroads to two direct companion books, Pragmatic Thinking and Learning: Refactor Your Wetware (Pragmatic Programmers) and Practices of an Agile Developer: Working in the Real World (Pragmatic Programmers).
This book shies away from being implementation-specific, while offering sufficient practical examples, ranging from the highly abstract (orthogonality) to the highly specific (version control systems).
This book forms the foundation for an entire series of books, but this reviewer humbly recommends sticking to Andy's own books, unless a specific area of programming practice is desired.
In general, these tend to be more readable than the implementation-level books in the series, which offer more specific examples at the cost of often reading like a manual (comparing against Learn to Program (Pragmatic Programmers) and Agile Web Development with Rails, 2nd Edition).
Overall, this specific book is a recommended read with significance in multiple fields of programming, and enough material to form the basis of an entire career.
|
meant for novice programmers ( valleyfair )
This book contains useful information for novice programmers. The tips are good, but nothing new for experienced programmers. I think anyone who has undertaken more than three or four projects will know 90% of the content from experience already. I'm personally not getting enough from this book to justify the time it takes to read it.
For complete novices, this book may be a good work book to keep around as they mature.
|
Some good nuggets but a bit thin
The authors provide one with some good advice on topics that are often overlooked. There is a kind of gap that exists in the education of programmers. There are lots of academic texts and courses, and there are lots of "how to" texts and courses. There is not a lot of published works or courses in areas in between. This is actually where most the craft of programming takes place. Most of us who write software for a living have to glean the best practices of our craft from many different sources. The authors have hit the in between sweet spot.
The area of the subject matter is pertinent and much of their advice is good. However, they don't back up a lot of what they say. I felt, like other reviewers, there were a lot of unsubstantiated platitudes.
Another criticism I have is that their advice is very UNIX centric. The authors claim that their advice is platform neutral, but then constantly bash programming practices that evolved from the windows camp. Much of their advice tends to be more pertinent for those working in a UNIX environment. The bottom line is that a pragmatic programmer uses the best tool for the job. I didn't feel that the authors practiced what they preached.
I believe that this book would be very good for younger people who are starting out in the trade, although many of the ideas are good to have continually reinforced. I think it would also be better suited to those who spend more of their time in the UNIX environs.
Another author that concentrates on craft, but spends a little more time backing up his thoughts is Steve McConnell. But Despite my concerns, it is still a worthwhile read.
|
|