Amazon.co.jp
本書は、全プログラマーの座右の書となるべき本である。C、C++、JAVAで記述された実例集は大いに役立つし、また本書で学ぶ「作法」は、C、C++、JAVA言語に限らず有用である。
第1章の「スタイル」からして、「関数マクロはなるべく使うな」「悪いコードにコメントをつけるな、書き直せ」など、もっともな指摘とTipsが登場し、うれしくなる。第4章「インターフェース」は他者向けプログラミングで商売する人には必読。それが顧客をつかむことになるからだ。第5章「デバッグ」第6章「テスト」は多くのプログラマーにとっての福音だ。ドラッグ状態から正常な生活に早急に戻る処方箋と考えていい。第8章の「移植性」に関しては、ここで述べられている「理想」にまで配慮できるプロがどれくらいいるのだろうか?と思うほどの内容である。
ベンダープログラムに限らず、移植性の壁に立ち往生する哀れな犠牲者から時間を奪わないためにも、ここに記されたジェントルな姿勢は極めて有益だ。全編にわたりコンピュータプログラミング発祥の地であるアメリカのプロの伝統と良心を見る。
巻末のルール集は、プログラミングをする人すべてがコピーして机上に備えておきたいエッセンスに満ちている。本格的プログラミングを始める大学生必読の書といっても言い過ぎではない。(澤田哲生)
内容説明
内容(「BOOK」データベースより)
内容(「MARC」データベースより)
Amazon.com
Early sections look at some of the pitfalls of C/C++, with numerous real-world excerpts of confusing or incorrect code. The authors offer many tips and solutions, including a guide for variable names and commenting styles. Next, they cover algorithms, such as binary and quick sorting. Here, the authors show how to take advantage of the built-in functions in standard C/C++. When it comes to data structures, such as arrays, linked lists, and trees, the authors compare the options available to C, C++, Java, and even Perl developers with a random-text-generation program (using a sophisticated Markov chain algorithm) written for each language.
Subsequent sections cover debugging tips (including how to isolate errors with debugging statements) and testing strategies (both white-box and black-box testing) for verifying the correctness of code. Final sections offer tips on creating more portable C/C++ code, with the last chapter suggesting that programmers can take advantage of interpreters (and regular expressions) to gain better control over their code. A handy appendix summarizes the dozens of tips offered throughout the book.
With its commonsense expertise and range of examples drawn from C, C++, and Java, The Practice of Programming is an excellent resource for improving the style and performance of your code base. --Richard Dragan
--このテキストは、
ペーパーバック
版に関連付けられています。
From the Back Cover
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. 020161586XB04062001
--このテキストは、
ペーパーバック
版に関連付けられています。
著者について
Rob Pike: Lucent Technologies社ベル研究所の計算機科学研究センターに所属。オペレーティングシステムPlan9とInfernoの開発で設計/実装リーダーを務めた。研究の中心テーマはソフトウェアをもっと簡単に書けるようにするためのソフトウェア。
福崎俊博(ふくざき としひろ): 1958年1月生まれ、早稲田大学政治経済学部政治学科卒。1970年代後半よりコンピュータに興味を持ち、独学でアセンブラ、Pascal、Cによるプログラミングに手を染める。1985年頃よりフリーランスのライター/翻訳者として活動。興味のある分野はオペレーティングシステム、言語、Unixツール。
著者略歴 (「BOOK著者紹介情報」より)
Lucent Technologies社ベル研究所の計算機科学研究センターに所属。Addison-Wesley社のProfessional Computingシリーズの顧問を務める。Dennis Ritchieとの共著に『プログミング言語C』がある
パイク,ロブ
Lucent Technologies社ベル研究所の計算機科学研究センターに所属。オペレーティングシステムPlan9とInfernoの開発で設計・実装リーダーを務めた。研究の中心テーマはソフトウェアをもっと簡単に書けるようにするためのソフトウェア(本データはこの書籍が刊行された当時に掲載されていたものです)