Click here to skip to this page's main content.

New to the Open Library? — Learn how it works
Cover of: The Practice of Programming (Addison-Wesley Professional Computing Series) by Brian W. Kernighan
Last edited by ImportBot
July 28, 2014 | History
Cover of: The Practice of Programming (Addison-Wesley Professional Computing Series) by Brian W. Kernighan, Rob Pike

Contributors

  • Author
    Rob Pike

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

Published by Addison-Wesley Professional .
Written in English.

About the Book

A compendium of practical matters of importance to working programmers.

First Sentence

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

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

The Physical Object

Format Paperback
Number of pages 288

ID Numbers

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

Read

Buy

Amazon
Better World Books $14.75 (used)

Lists

You could add The Practice of Programming (Addison-Wesley Professional Computing Series) to a list if you log in.

History Created April 29, 2008 · 18 revisions Download catalog record: RDF / JSON / OPDS

July 28, 2014 Edited by ImportBot import new book
April 6, 2014 Edited by ImportBot Added IA ID.
October 9, 2013 Edited by Douglas Gardner Edited without comment.
August 17, 2010 Edited by WorkBot add editions to new work
April 29, 2008 Created by an anonymous user Inital record created, from an amazon.com record.