Always Learning

Advanced Search

Pragmatic Programmer, The

Pragmatic Programmer, The

From Journeyman to Master

Andrew Hunt, David Thomas

Nov 1999, Paperback, 352 pages
ISBN13: 9780201616224
ISBN10: 020161622X
Special online offer - Save 30%
Was 36.99, Now 25.89Save: 11.10
  • Print pagePrint page
  • Email this pageEmail page
  • Share

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.

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.



Foreword.


Preface.


1. A Pragmatic Philosophy.
The Cat Ate My Source Code.Software Entropy.Stone Soup and Boiled Frogs.Good-Enough Software.Your Knowledge Portfolio.Communicate!

2. A Pragmatic Approach.
The Evils of Duplication.Orthogonality.Reversibility.Tracer Bullets.Prototypes and Post-it Notes.Domain Languages.Estimating.

3. The Basic Tools.
The Power of Plain Text.Shell Games.Power Editing.Source Code Control.Debugging.Text Manipulation.Code Generators.

4. Pragmatic Paranoia.
Design by Contract.Dead Programs Tell No Lies.Assertive Programming.When to Use Exceptions.How to Balance Resources.

5. Bend, or Break.
Decoupling and the Law of Demeter.Metaprogramming.Temporal Coupling.It's Just a View.Blackboards.

6. While You Are Coding.
Programming by Coincidence.Algorithm Speed.Refactoring.Code That's Easy to Test.Evil Wizards.

7. Before the Project.
The Requirements Pit.Solving Impossible Puzzles.Not Until You're Ready.The Specification Trap.Circles and Arrows.

8. Pragmatic Projects.
Pragmatic Teams.Ubiquitous Automation.Ruthless Testing.It's All Writing.Great Expectations.Pride and Prejudice.

Appendices.


A Resources.
Professional Societies.Building a Library.Internet Resources.Bibliography.

B Answers to Exercises.


Index. 020161622XT04062001

Andy Hunt is an avid woodworker and musician, but, curiously, he is more in demand as a consultant. He has worked in telecommunications, banking, financial services, and utilities, as well as in more exotic fields, such as medical imaging, graphic arts, and Internet services. Andy specializes in blending tried-and-true techniques with leading-edge technologies, creating novel--but practical--solutions. Andy owns his own consulting business in Raleigh, North Carolina.

Dave Thomas likes to fly single-engine airplanes and pays for his habit by finding elegant solutions to difficult problems, consulting in areas as diverse as aerospace, banking, financial services, telecommunications, travel and transport, and the Internet. Before moving to the United States in 1994, Dave founded an ISO9001-certified English software company that delivered sophisticated, custom software projects throughout the world. Dave is now an independent consultant based in Dallas, Texas.



020161622XAB04062001