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

  • 3.50 ·
  • 2 Ratings
  • 24 Want to read
  • 4 Currently reading
  • 4 Have read
Cover of: The Practice of Programming (Addison-Wesley Professional Computing Series) by Brian W. Kernighan, Rob Pike
    Loading...
Rate

  • 3.50 ·
  • 2 Ratings
  • 24 Want to read
  • 4 Currently reading
  • 4 Have read

Buy this book

When you buy books using these links the Internet Archive may earn a small commission.

Last edited by ImportBot
February 12, 2022 | History

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

  • 3.50 ·
  • 2 Ratings
  • 24 Want to read
  • 4 Currently reading
  • 4 Have read

A compendium of practical matters of importance to working programmers.

Read more

Publish Date
Language
English
Pages
288

Buy this book

When you buy books using these links the Internet Archive may earn a small commission.

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?

Book Details


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, QA76.6 .K48 1999

Contributors

Author
Rob Pike

The Physical Object

Format
Paperback
Number of pages
288

ID Numbers

Open Library
OL7408124M
ISBN 10
020161586X
ISBN 13
9780201615869
LCCN
99010131
Library Thing
16835
Goodreads
1032758

Community Reviews (0)

Feedback?
No community reviews have been submitted for this work.

History

Download catalog record: RDF / JSON
February 12, 2022 Edited by ImportBot import existing book
October 22, 2021 Edited by AgentSapphire undo merge authors
October 22, 2021 Edited by AgentSapphire merge authors
October 22, 2021 Edited by AgentSapphire undo merge authors
August 17, 2010 Created by WorkBot work found