The Pragmatic Programmer
Subtitle: From Journeyman to Master
By: Andrew Hunt, David Thomas
Contributors: Thomas, David, 1956-
Publisher: Addison-Wesley
Published: 2000
Place of publication: Reading, Mass
Language: eng
Number of pages: 321
ISBN-13: 9785342616224
Subjects: Computer programming
First sentence: What distinguishes Pragmatic Programmers?
Description: The Pragmatic Programmer: From Journeyman to Master examines the core programming 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 code flexible, easy to adapt, and reuse. (publisher's copy)
Notes: Includes bibliographical references (p. 275-278) and index
Table of contents: title: Foreword
pagenum: xiii; title: Preface
pagenum: xvii; label: 1
title: A Pragmatic Philosophy
pagenum: 1; label: 1
title: The Cat Ate My Source Code
pagenum: 2; label: 2
title: Software Entropy
pagenum: 4; label: 3
title: Stone Soup and Boiled Frogs
pagenum: 7; label: 4
title: Good-Enough Software
pagenum: 9; label: 5
title: Your Knowledge Portfolio
pagenum: 12; label: 6
title: Communicate!
pagenum: 18; label: 2
title: A Pragmatic Approach
pagenum: 25; label: 7
title: The Evils of Duplication
pagenum: 26; label: 8
title: Orthogonality
pagenum: 34; label: 9
title: Reversibility
pagenum: 44; label: 10
title: Tracer Bullets
pagenum: 48; label: 11
title: Prototypes and Post-it Notes
pagenum: 53; label: 12
title: Domain Languages
pagenum: 57; label: 13
title: Estimating
pagenum: 64; label: 3
title: The Basic Tools
pagenum: 71; label: 14
title: The Power of Plain Text
pagenum: 73; label: 15
title: Shell Games
pagenum: 77; label: 16
title: Power Editing
pagenum: 82; label: 17
title: Source Code Control
pagenum: 86; label: 18
title: Debugging
pagenum: 90; label: 19
title: Text Manipulation
pagenum: 99; label: 20
title: Code Generation
pagenum: 102; label: 4
title: Pragmatic Paranoia
pagenum: 107; label: 21
title: Design by Contract
pagenum: 109; label: 22
title: Dead Programs Tell No Lies
pagenum: 120; label: 23
title: Assertive Programming
pagenum: 122; label: 24
title: When to Use Exceptions
pagenum: 125; label: 25
title: How to Balance Resources
pagenum: 129; label: 5
title: Bend, or Break
pagenum: 137; label: 26
title: Decoupling and the Law of Demeter
pagenum: 137; label: 27
title: Metaprogramming
pagenum: 144; label: 28
title: Temporal Coupling
pagenum: 150; label: 29
title: It's Just a View
pagenum: 157; label: 30
title: Blackboards
pagenum: 165; label: 6
title: While You Are Coding
pagenum: 171; label: 31
title: Programming by Coincidence
pagenum: 172; label: 32
title: Algorithm Speed
pagenum: 177; label: 33
title: Refactoring
pagenum: 184; label: 34
title: Code That's Easy to Test
pagenum: 189; label: 35
title: Evil Wizards
pagenum: 198; label: 7
title: Before the Project
pagenum: 201; label: 36
title: The Requirements Pit
pagenum: 202; label: 37
title: Solving Impossible Puzzles
pagenum: 212; label: 38
title: Not Until You're Ready
pagenum: 215; label: 39
title: The Specification Trap
pagenum: 217; label: 40
title: Circles and Arrows
pagenum: 220; label: 8
title: Pragmatic Projects
pagenum: 223; label: 41
title: Pragmatic Teams
pagenum: 224; label: 42
title: Ubiquitous Automation
pagenum: 230; label: 43
title: Ruthless Testing
pagenum: 234; label: 44
title: It's All Writing
pagenum: 248; label: 45
title: Great Expectations
pagenum: 255; label: 46
title: Pride and Prejudice
pagenum: 258; label: A
title: Resources
pagenum: 261; title: Professional Societies
pagenum: 262; title: Building a Library
pagenum: 262; title: Internet Resources
pagenum: 266; title: Bibliography
pagenum: 275; label: B
title: Answers to Exercises
pagenum: 279; title: Index
pagenum: 309