The Practice of Programming cover

Author

Brian W. Kernighan

More by this author

The Practice of Programming

by Brian W. Kernighan, Rob Pike

PreviewGoogle Books

About this book

With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be concerned with issues like compatibility, robustness, and reliability, while meeting specifications. The Practice of Programming covers all these topics, and more. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. It includes chapters on: debugging: finding bugs quickly and methodically testing: guaranteeing that software works correctly and reliably performance: making programs faster and more compact portability: ensuring that programs run everywhere without change design: balancing goals and constraints to decide which algorithms and data structures are best interfaces: using abstraction and information hiding to control the interactions between components style: writing code that works well and is a pleasure to read notation: choosing languages and tools that let the machine do more of the work Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from the principles and guidance in The Practice of Programming .

Publisher

Addison-Wesley Professional

Published

1999-02-09

Pages

288

Language

EN

Computers / Languages / General

Preview & Source

Google Books provider

Preview bookView on Google BooksFind similar booksExplore category

Preview

The Practice of Programming cover

This book is available for preview through Google Books.

More by Brian W. Kernighan

AMPL cover
Business & Economics1997

AMPL

A Modeling Language for Mathematical Programming : with AMPL Plus Student Edition for Microsoft Windows

Robert Fourer, David M. Gay, Brian W. Kernighan

Title on disc: AMPL Plus 1.6 student edition.

AMPL cover
Mathematics1993

AMPL

A Modeling Language for Mathematical Programming

Robert Fourer, David M. Gay, Brian W. Kernighan

Description unavailable for this volume in the current provider response.

Understanding the Digital World cover
Computers2017-01-24

Understanding the Digital World

What You Need to Know about Computers, the Internet, Privacy, and Security

Brian W. Kernighan

The basics of how computer hardware, software, and systems work, and the risks they create for our privacy and security Computers are everywhere. Some of them are highly visible, in laptops, tablets, cell phones, and smart watches. But most are invisible, like those in appliances, cars, medical equipment, transportation systems, power grids, and weapons. We never see the myriad computers that quietly collect, share, and sometimes leak vast amounts of personal data about us. Through computers, governments and companies increasingly monitor what we do. Social networks and advertisers know far more about us than we should be comfortable with, using information we freely give them. Criminals have all-too-easy access to our data. Do we truly understand the power of computers in our world? Understanding the Digital World explains how computer hardware, software, networks, and systems work. Topics include how computers are built and how they compute; what programming is and why it is difficult; how the Internet and the web operate; and how all of these affect our security, privacy, property, and other important social, political, and economic issues. This book also touches on fundamental ideas from computer science and some of the inherent limitations of computers. It includes numerous color illustrations, notes on sources for further exploration, and a glossary to explain technical terms and buzzwords. Understanding the Digital World is a must-read for all who want to know more about computers and communications. It explains, precisely and carefully, not only how they operate but also how they influence our daily lives, in terms anyone can understand, no matter what their experience and knowledge of technology.

The AWK Programming Language cover
Computers2023-09-20

The AWK Programming Language

Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger

Awk was developed in 1977 at Bell Labs, and it's still a remarkably useful tool for solving a wide variety of problems quickly and efficiently. In this update of the classic Awk book, the creators of the language show you what Awk can do and teach you how to use it effectively. Here's what programmers today are saying: "I love Awk." "Awk is amazing." "It is just so damn good." "Awk is just right." "Awk is awesome." "Awk has always been a language that I loved." It's easy: "Simple, fast and lightweight." "Absolutely efficient to learn because there isn't much to learn." "3-4 hours to learn the language from start to finish." "I can teach it to new engineers in less than 2 hours." It's productive: "Whenever I need to do a complex analysis of a semi-structured text file in less than a minute, Awk is my tool." "Learning Awk was the best bang for buck investment of time in my entire career." "Designed to chew through lines of text files with ease, with great defaults that minimize the amount of code you actually have to write to do anything." It's always available: "AWK runs everywhere." "A reliable Swiss Army knife that is always there when you need it." "Many systems lack Perl or Python, but include Awk." Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

More in Computers / Languages / General

CJKV Information Processing cover
Computers1999

CJKV Information Processing

Ken Lunde

The completely revised edition of "Understanding Japanese Information Processing" supplements each chapter with details about how Chinese, Korean, and Vietnamese scripts are processed on computer systems. New information, such as how these scripts impact contemporary Internet resources (such as the WWW and Adobe Acrobat) is provided.

Modern Compiler Implementation in ML cover
Computers1998

Modern Compiler Implementation in ML

Andrew W. Appel

Describes all phases of a modern compiler, including techniques in code generation and register allocation for imperative, functional and object-oriented languages.

HTTP: The Definitive Guide cover
Computers2002-09-27

HTTP: The Definitive Guide

David Gourley, Brian Totty

This guide gives a complete and detailed description of the HTTP protocol and how it shapes the landscape of the Web by the technologies that it supports.

Learning the Vi Editor cover
Computers1998

Learning the Vi Editor

Linda Lamb, Arnold Robbins

For many users, working in the Unix environment means usingvi, a full-screen text editor available on most Unix systems. Even those who knowvioften make use of only a small number of its features. Learning the vi Editoris a complete guide to text editing withvi. Topics new to the sixth edition include multiscreen editing and coverage of fourviclones:vim,elvis,nvi, andvileand their enhancements tovi, such as multi-window editing, GUI interfaces, extended regular expressions, and enhancements for programmers. A new appendix describesvi's place in the Unix and Internet cultures. Quickly learn the basics of editing, cursor movement, and global search and replacement. Then take advantage of the more subtle power ofvi. Extend your editing skills by learning to useex, a powerful line editor, from withinvi. For easy reference, the sixth edition also includes a command summary at the end of each appropriate chapter. Topics covered include: Basic editing Moving around in a hurry Beyond the basics Greater power withex Global search and replacement Customizingviandex Command shortcuts Introduction to theviclones' extensions Thenvi,elvis,vim, andvileeditors Quick reference toviandexcommands viand the Internet

Essentials of Programming Languages, third edition cover
Computers2008-04-18

Essentials of Programming Languages, third edition

Daniel P. Friedman, Mitchell Wand

A new edition of a textbook that provides students with a deep, working understanding of the essential concepts of programming languages, completely revised, with significant new material. This book provides students with a deep, working understanding of the essential concepts of programming languages. Most of these essentials relate to the semantics, or meaning, of program elements, and the text uses interpreters (short programs that directly analyze an abstract representation of the program text) to express the semantics of many essential language elements in a way that is both clear and executable. The approach is both analytical and hands-on. The book provides views of programming languages using widely varying levels of abstraction, maintaining a clear connection between the high-level and low-level views. Exercises are a vital part of the text and are scattered throughout; the text explains the key concepts, and the exercises explore alternative designs and other issues. The complete Scheme code for all the interpreters and analyzers in the book can be found online through The MIT Press web site. For this new edition, each chapter has been revised and many new exercises have been added. Significant additions have been made to the text, including completely new chapters on modules and continuation-passing style. Essentials of Programming Languages can be used for both graduate and undergraduate courses, and for continuing education courses for programmers.

Applied Cryptography cover
Computers1994

Applied Cryptography

Protocols, Algorithms, and Source Code in C

Bruce Schneier

Cryptographic protocols; Cryptographic techniques; Cryptographic algorithms; The real world; Source code.

Similar books

Computer Programming Languages in Practice cover
Computers2014-05-21

Computer Programming Languages in Practice

Made Simple Computerbooks

C. A. Hofeditz

Computer Programming Languages in Practice provides an overview of various computer programming languages. The book begins with the fundamentals: what programs are; how they are planned and organized; what elements of the computer the programmer controls; flowcharting; and how computer data is organized. It then discusses material common to all languages, including the entry program, the compiler, the run-time system, syntax diagrams, and coding forms. The largest portion of this book is devoted to two very popular languages—BASIC and COBOL. It provides a brief history of the language's development and use; a description of how the programming system is organized; its major components, divisions of instructions, and a description of its instruction set (instruction-by-instruction); how a program is written, including a sample program; and a self-test, including exercises in which programming statements must be written. The final chapter discusses those languages which the reader is less likely to use but should know about. Included are descriptions of FORTRAN and RPG II.

Computer Science in Industrial Application cover
Mathematics2015-07-28

Computer Science in Industrial Application

Proceedings of the 2014 Pacific-Asia Workshop on Computer Science and Industrial Application (CSIA 2014), Bangkok, Thailand, November 17-18, 2014

Yanglv Ling

CSIA 2014 focusses on improvements in computer science in industrial application. The contributions are grouped into five main sections:1. Computer and Information Technology.2. Business management, E-commerce and Tourism. This section covers mainly basic theory and general method of economic management businesses and market economy.&nbs

Computer Programming. Python, SQL, PHP, C++ cover
Book2020-05-04

Computer Programming. Python, SQL, PHP, C++

4 Books in 1: The Ultimate Crash Course Learn Python, SQL, PHP and C++. With Practical Computer Coding Exercises

Computer Programming Academy Us

✵55% SPECIAL DISCOUNT FOR BOOKSTORE! NOW AT 49.99$ INSTEAD OF 59.99$ ✵No matter what kind of coding or programming your customers are interested in or how new they are to the space, this book will get them from zero to hero!Look no further! These are all the computer programming learning materials you need to know. All you need to learn about the fundamentals of 4 of the most popular programming languages are here, all in 1! Computer Programming Academy is offering you this 4 in 1 (Python, Structured Query Language (SQL), PHP and C++) bundle. Today computer programs are being used in almost every field. Using programming, you can create your own games, your personal blog/profile page, a social networking site like Facebook, a search engine like Google or an e-commerce platform like Amazon. The backbones of today's technology companies like Google, Facebook, Microsoft, Apple, Amazon, and many others, are giant computer programs written by a collaboration of thousands of skilled programmers. Not only have companies and non-profits introduced initiatives to get a more diverse range of people into programming, but the number of resources available to learn to code has dramatically increased. It obviously helps to have a college degree, but it isn't necessary when learning to program. Computer programming is definitely a skill to earn a higher salary. In this bundle, you'd learn the fundamentals of 4 of the most popular programming languages at the moment in this world: Python Structured Query Language (SQL) PHP C++ You may already have used software, perhaps for word processing or spreadsheets to solve problems. Perhaps now you are curious to learn how programmers write software. Let learning some of the most popular computer programming languages to become your advantage and push your career to the next level! Hit that BUY NOW button and let yourself display this book in pride!

Book details

Publisher: Addison-Wesley Professional

Published: 1999-02-09

Pages: 288

Language: EN

Categories: Computers / Languages / General

Preview: Sample available

Ventari Books links to external provider metadata and access states and does not rehost copyrighted text.

We use optional analytics cookies to understand how visitors use Ventari and improve the experience. This banner controls analytics measurement only. See our Cookie Policy.