Cover of: The Practice of Programming (Addison-Wesley Professional Computing Series) by Robert Kirkland Kernighan, Rob Pike

Buy this book

Last edited by Clean Up Bot
July 6, 2019 | History

The Practice of Programming (Addison-Wesley Professional Computing Series)

  • 3.50
  • 2 Ratings
  • 18 Want to read
  • 2 Currently reading
  • 3 Have read

This edition was published in by Addison-Wesley Professional

Written in English

288 pages

A compendium of practical matters of importance to working programmers.

Read more

Previews available in: English

Edition Availability
Cover of: The Practice of Programming (Addison-Wesley Professional Computing Series)
The Practice of Programming (Addison-Wesley Professional Computing Series)
February 4, 1999, Addison-Wesley Professional
Paperback in English

Add another edition?

The Practice of Programming (Addison-Wesley Professional Computing Series)

First published in 1999



Work Description

A compendium of practical matters of importance to working programmers.

The Practice of Programming (Addison-Wesley Professional Computing Series)

This edition was published in by Addison-Wesley Professional


First Sentence

"This fragment of code comes from a large program written many years ago:"

Edition Description

A compendium of practical matters of importance to working programmers.

Table of Contents

Preface ix
1 Style 1
1.1 Names 3
1.2 Expressions and Statements 6
1.3 Consistency and Idioms 10
1.4 Function Macros 17
1.5 Magic Numbers 19
1.6 Comments 23
1.7 Why Bother? 27
2 Algorithms and Data Structures 29
2.1 Searching 30
2.2 Sorting 32
2.3 Libraries 34
2.4 A Java Quicksort 37
2.5 O-Notation 40
2.6 Growing Arrays 41
2.7 Lists 44
2.8 Trees 50
2.9 Hash Tables 55
2.10 Summary 58
3 Design and Implementation 61
3.1 The Markov Chain Algorithm 62
3.2 Data Structure Alternatives 64
3.3 Building Data Structures in C 65
3.4 Generating Output 69
3.5 Java 71
3.6 C++ 76
3.7 Awk and Perl 78
3.8 Performance 80
3.9 Lessons 82
4 Interfaces 85
4.1 Comma-Separated Values 86
4.2 A Prototype Library 87
4.3 A Library for Others 91
4.4 A C++ Implementation 99
4.5 Interface Principles 103
4.6 Resource Management 106
4.7 Abort, Retry, Fail? 109
4.8 User Interfaces 113
5 Debugging 117
5.1 Debuggers 118
5.2 Good Clues, Easy Bugs 119
5.3 No Clues, Hard Bugs 123
5.4 Last Resorts 127
5.6 Non-reproducible Bugs 130
5.7 Other People's Bugs 135
5.8 Summary 136
6 Testing 139
6.1 Test as You Write the Code 140
6.2 Systematic Testing 145
6.3 Test Automation 149
6.4 Test Scaffolds 151
6.5 Stress Tests 155
6.6 Tips for Testing 158
6.7 Who Does the Testing? 159
6.8 Testing the Markov Program 160
6.9 Summary 162
7 Performance 165
7.1 A Bottleneck 166
7.2 Timing and Profiling 173
7.3 Strategies for Speed 175
7.4 Tuning the Code 178
7.5 Space Efficiency 182
7.6 Estimation 184
7.7 Summary 187
8 Portability 189
8.1 Language 190
8.2 Headers and Libraries 196
8.3 Program Organization 198
8.4 Isolation 202
8.5 Data Exchange 203
8.6 Byte Order 204
8.7 Portability and Upgrade 207
8.8 Internationalization 209
8.9 Summary 212
9 Notation 215
9.1 Formatting Data 216
9.2 Regular Expressions 222
9.3 Programmable Tools 228
9.4 Interpreters, Compilers, and Virtual Machines 231
9.5 Programs that Write Programs 237
9.6 Using Macros to Generate Code 240
9.7 Compiling on the Fly 241
Epilogue 247
Appendix: Collected Rules 249
Index 253

Edition Notes

Copyright Date
1999

Classifications

Dewey Decimal Class
005.1
Library of Congress
QA 76.6 K3, QA76.6.K48 1999, QA76.6 .K48 1999

Contributors

Author
Rob Pike

ID Numbers

Open Library
OL7408124M
Internet Archive
practiceprogramm00kern
ISBN 10
020161586X
ISBN 13
9780201615869
LC Control Number
99010131
Library Thing
16835
Goodreads
1032758

Lists containing this Book

History

Download catalog record: RDF / JSON
July 6, 2019 Edited by Clean Up Bot import existing book
July 22, 2018 Edited by R. S. Doiel Corrected author
April 26, 2018 Edited by Tom Morris merge authors
July 28, 2014 Edited by ImportBot import new book
August 17, 2010 Created by WorkBot work found