参考書籍 プログラミング

このエントリーをはてなブックマークに追加

ここでは、プログラミングに関する参考書籍を紹介します。

以下のリストは、現在紹介している本の一覧で、出版日の新しいものほど、上に来るように並べています。

名前 5段階評価 入門 初級 中級 上級
プログラミング作法 NEW!! ★★★★★
CODE COMPLETE 第2版 上・下 NEW!! ★★★★★

「名前」の列のリンクは、それぞれの本の紹介へ移動します。
「5段階評価」は、★の数が多いほど、良書であるという判定です。

「入門」〜「上級」は、それぞれの段階の人に対応した内容かどうかを表します。 それぞれの想定は以下のようにしています。

入門 プログラミングとはどういうものなのかという段階の人
初級 何らかの言語でプログラミングを学び始めた(学んでいる)人
中級 1つの言語を習得して、プログラミングできるようになった人
上級 現場または個人的に本格的なプログラミングをしている人

各段階のマークの意味は次のようになっています。

その段階の人に積極的にお勧めできる
その段階の人が読める内容である
その段階の人に適した内容ではない

全部見たい場合は、以下をスクロールしていって下さい。

プログラミング作法

2014年度 お勧め書籍14冊
2013年度 お勧め書籍13冊
2012年度 お勧め書籍12冊
2011年度 お勧め書籍11冊
2010年度 お勧め書籍10冊

レベル 中級
5段階評価 ★★★★★
出版日 2017年1月
ISBN 978-4048930529
新版の有無 なし

正しいプログラミングを学ぶ良書。
2000年に出版された同名の書籍を再刊行したもので、内容は同じです。

コーディングスタイルから、設計、テスト、デバッグ、パフォーマンス、移植性といったように、 プログラミングに関するノウハウが、それぞれ 30ページ程度の分量でまとめられています。 (オブジェクト指向プログラミングについての記述はほとんどありません)。

C言語、C++、Java、Perl、Awk といったように、幾つかのプログラミング言語を使ったサンプルコードが登場します。 言語固有の事情を踏まえたサンプルコードもありますが、 知らない言語であっても、恐れずに読み進めてみることをお勧めします。 何か1つの言語を使って、小規模でもプログラムを書ける力があれば、読み進めることは可能だと思います。

本書の2人の著者は、どちらも有名で、 特に Kernighan は、 K&R(「プログラミング言語C」のこと) の K の方であり、先ほど名前が登場したプログラミング言語 Awk の「k」でもあります。
Pike も様々な実績を持った人物です(参考:Wikipedia)。
そんな2人の経験と考察をコンパクトにまとめた本書には、それ相応の価値があると言えるでしょう。

新人プログラマに特にお勧めできる本です。 良いプログラムを考える癖、良いコードを書く癖を、早いうちに身につけておきましょう。 何度も読み返してみる価値がある本だと思います。

CODE COMPLETE 第2版 上・下

2016年度 お勧め書籍10冊
2015年度 お勧め書籍10冊
2014年度 お勧め書籍14冊

レベル 中級〜
5段階評価 ★★★★★
出版日 2005年3月
ISBN 978-4891004552
新版の有無 なし
レベル 中級〜
5段階評価 ★★★★★
出版日 2005年3月
ISBN 978-4891004569
新版の有無 なし

ソフトウェアコンストラクションに関する名著。 上下巻構成になっています。

ソフトウェアコンストラクションとは、ソフトウェア開発に必要なプロセス全般のことを指した言葉で、 設計、コーディング、テスト、デバッグといった要素を含んでいます。 その1つ1つについてを詳細に解説した本書は、ある種、ソフトウェア開発の百科事典のようであり、 何度も読み返してみる価値があります。

本書は、章ごとのテーマに沿って、所謂、ベストプラクティスを扱っています。 「こうすると、こういう観点から良い」「こうすると、こういう観点から良くない」といったことが、 根拠となるデータ、事例とともにまとめられており、説得力の高い内容になっています。 特定のプログラミング言語に特化した内容ではないので、どの言語の利用者・経験者にも勧められます。

流石に少々古い本になってしまいましたから、最新のプログラミング技法には対応していませんが、 確固たる基礎を身に付ける上で、今でも色あせない良書です。

なお、Kindle版には、上下巻を合わせた電子合本版があります。

更新履歴

'2017/6/22 「プログラマが知るべき97のこと」をプログラマのページへ移動。

'2017/6/19 新規作成。



参考書籍のトップページへ

Programming Place Plus のトップページへ