プログラミング作法
プログラミングサホウ
- 著者:
- Brian W. Kernighan / Rob Pike / 福崎 俊博(ブライアン カーニハン / ロブ パイク / フクザキ トシヒロ)
- 出版社:
- ドワンゴ
- 出版日:
- 2017年01月30日頃
- ISBN:
- 9784048930529
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
プログラミングをする際に出会うさまざまな問題について、実例コードを示して実践的にアドバイス。C/C++/Java 等で記述された現実のコードも多数掲載。
第 1 章 スタイル
第 2 章 アルゴリズムとデータ構造
第 3 章 設計と実装
第 4 章 インターフェイス
第 5 章 デバック
第 6 章 テスト
第 7 章 性能
第 8 章 移植性
第 9 章 記法
エピローグ
Appendix ルール表
本書は 2000 年 11 月に株式会社アスキーから刊行された『プログラミング作法』の再刊行書籍であり、同一の内容です。
第 1 章 スタイル
第 2 章 アルゴリズムとデータ構造
第 3 章 設計と実装
第 4 章 インターフェイス
第 5 章 デバック
第 6 章 テスト
第 7 章 性能
第 8 章 移植性
第 9 章 記法
エピローグ
Appendix ルール表
技書の森解説
『プログラミング作法』は、文法を覚えた後のプログラマーが、読みやすく、壊れにくく、別の環境へ持っていけるコードを書くための規律を、実例コードを通して学ぶ書籍です。著者は Brian W. Kernighan と Rob Pike、訳は福崎 俊博で、原タイトルは The Practice of Programming です。2000 年 11 月にアスキーから刊行された日本語版を、ドワンゴが発行、KADOKAWA が発売する形で 2017 年 1 月に再刊したもので、版元の注記では内容は同一とされています。
スタイルから記法まで、全 9 章の構成
構成は第 1 章のスタイルに始まり、アルゴリズムとデータ構造、設計と実装、インターフェイス、デバッグ、テスト、性能、移植性と進み、第 9 章の記法で締めくくられます。その後にエピローグと、各章で示した心得をまとめた付録のルール表が続きます。版元の紹介文によれば、プログラミングの際に出会うさまざまな問題について実例コードを示して実践的に助言する本で、C、C++、Java などで記述された現実のコードが多数掲載されています。刊行時の著者紹介では、Kernighan はベル研究所の計算機科学研究センターに所属し、Dennis Ritchie との共著に『プログラミング言語 C』があると紹介されています。
動くコードと信頼できるコードの差を埋める規律
プログラムが一度動くことと、半年後の自分や同僚が安心して手を入れられることの間には大きな距離があります。その距離を生むのは、名前の付け方や関数の切り出し方といった日々の小さな判断の積み重ねです。インターフェイスの境界を曖昧にすると変更が広く波及し、テストを後回しにすると不具合が見つかった時点で原因の候補が膨らみます。デバッグ の手際も、勘に頼るか、仮説を立てて範囲を絞り込むかで所要時間が桁違いに変わります。性能と移植性も同じ構造で、計測せずに推測で最適化したり、特定の処理系の挙動に寄りかかったりしたコードは、環境が変わった途端に問題を表面化させます。本書が章ごとに扱うのは、まさにこうした判断の基準であり、特定のフレームワークの使い方ではありません。そのため掲載コードの言語を普段使っていなくても、設計とテストとデバッグの考え方は他の言語へ持ち出せます。コードレビュー で指摘される内容に一貫した理由を持てるようになるのも、この種の本を読む効き目の一つです。
中級者に向く理由と、先に押さえておきたい前提知識
前提として、C 系の言語の基本的な文法と、配列やポインター、構造体の扱いに抵抗がないことが望まれます。例が C、C++、Java などの実コードで示されるため、少なくともそのいずれかを読めると理解が早くなります。逆に、プログラミングそのものが初めての人や、特定の言語やフレームワークの手順を素早く知りたい人には、本書は回り道になります。また 2000 年刊の日本語版と同一内容の再刊であるため、言語の新しい機能や開発ツールの使い方を学ぶ目的には合いません。その分、時間が経っても色あせにくい原則に紙幅が割かれています。
動くコードを書けるようになった後に何を学べばよいかで迷っている場合は、「動くコード」と「良いコード」の間にある本 の整理と合わせて読むと、本書の位置づけが見えやすくなります。コードの読みやすさや設計を扱う本は数多くありますが、スタイルからデバッグ、テスト、性能、移植性までを一冊でまとめて見通せる点が本書の持ち味です。レビューで同じ種類の指摘を繰り返し受けている人、不具合の原因究明に毎回時間を取られている人、後輩のコードに助言する立場になった人にとって、手元に置いて章単位で読み返せる一冊になります。
言及した記事 (5 件)
2024年版機械学習・データ分析の必須10冊+ガチ90冊+Next5冊=105冊
♡ 868本, 機械学習, データ分析, データサイエンスシステムアーキテクト試験(IPA)合格への道
♡ 11ipa, システムアーキテクト, IPA試験対策【保存版】初学者エンジニアが学ぶべきアルゴリズム概論 〜「とりあえずfor文」からの脱却〜
♡ 9アルゴリズム, for文, 計算量, BigO, オーダー記法構造力学パズル「SigmaZero」を AI と作った 196 日・952 コミット—Unity教科書の勉強から Claude Code のエージェント組織運営まで
♡ 6Unity, AI, ClaudeCode, Gemini, 構造力学AIが普及してきて思う危機感と乗り越え方考察
♡ 6AI, pm, プログラマー, コーダー, XD.GROWTH
この本に興味がある方におすすめ
関連する本
関連記事
アルゴリズム本ガイド - 競プロだけじゃない、実務に活きる選び方
アルゴリズム本の 3 タイプと、実務でアルゴリズムの知識が活きる場面、数学が苦手な人向けの学習ルートを紹介します。
ChatGPT に聞けば済む時代に、あえて本を開く理由
生成 AI で何でも聞ける時代に、技術書を読む意味はあるのか。AI の回答と書籍の知識の決定的な違いを掘り下げ、両者の使い分けを提案します。
LLM / 生成 AI 本ガイド - 仕組み / 実装 / エージェント開発の 3 層で選ぶ (2026 年 8 月時点)
LLM (大規模言語モデル) / 生成 AI を学ぶ技術書の選び方を 3 層 (読み物で仕組みを掴む → 中身を実装で理解する → RAG / AI エージェント開発) で整理。2026 年 8 月時点の定番書と、変化の速い分野で本を選ぶときの注意点を解説します。