まえがき
『ルールズ・オブ・プログラミング』へようこそ。本書は、覚えるのも応用するのも簡単なルール集で、もっとマシなコードを書く助けになるはずだ。プログラミングってものは難しい。でも本書のルールを守れば、その難しいプログラミングが、ほんの少しだけ楽になる。
本書を読み進めるにあたってのコツを以下に挙げておこう。
- ルールはどれも、各々が独立している。目次で面白そうなルールを見つけて、本書の真ん中まで飛ばして直接読んでみたいなら、読めばいい。そういう読み方にも本書は十分対応している。
- そうは言っても、お勧めは、ルール1「できるだけ単純であるべきだが、単純化してはいけない」から始めることだ。ルール1は、その他のルールへ進む前にお膳立てを整えてくれる。
- 本書のコード例は全て、C++で書いてある。PythonやJavaScriptを使うプログラマーなら、本書のルールにあまり深入りしないうちに、付録A「PythonプログラマーのためのC++読解法」か付録B「JavaScriptプログラマーのためのC++読解法」を読んでおけば、多少はマシに過ごせるはずだ。2つの付録は、C++のコード例を馴染みのある概念へと翻訳してくれるロゼッタストーン†1として機能する。他の何かのプログラミング言語に関する経験はあるものの、C++のコード例についていくのが難しいと感じる読者には、Rosetta Code†2 (https://rosettacode.org/wiki/Rosetta_Code)っていうすごいウェブサイトをお勧めする。
- 読者がC++プログラマーなら、C++プログラマー以外の読者にとって読みやすくするために、コード例の中で単純化した点がいくつかあるのを了承いただきたい。例えば、コード例には、C++プログラムなら符号無し整数を使うのが普通なところで符号有り整数を使っている場合が、ところどころある。それから、符号無しの値と符号有りの値の間で暗黙の変換が行われた場合の警告は、無効化した。また、「 ...