* 正解よりも美学を [#o115124e] 筆者がC言語に取り組むスタンスは「正解よりも美学を」というものです。つまり、物事に対してたった1つの「正解」を決めることを目標とはしないことを意味します。学校のテストではたいていの場合たった1つの正解が決まっていて、それを得られるか否かが結果に直結します。しかし、現実の社会は必ずしもそうではありません。正解がいくつもあることは珍しくないし、最善ではないがそこそこ十分な答えという曖昧な存在もあります。 更に特にC言語には言語仕様そのものに「処理系定義」という要素が含まれることから、たった1つの結果が決まらない要素も多くあります。そのため、実はそもそもC言語は「たった1の正解」という発想で対処できる対象ではないのです。 では何を拠り所にすれば良いのでしょうか? 書いたプログラムが意図通りの結果を出せばそれで良いのでしょうか? それで十分というケースもあるでしょうが、できるだけ多くの人に使ってもらいたいソースコードの場合は十分ではありません。別の環境で正しく動くかどうか分からないからです。 ならば、あらゆる環境で正しく動くまで粘るべきでしょうか? それは現実的には不可能です。たとえば、負数として1の補数を使うC言語処理系でも動作することを検証しようにも、そのようなシステムは容易には入手できません。(もし、それを検証できるエミュレータ等があればぜひ教えて欲しい)。仮に環境が揃っても手間が膨大で現実的ではありません。 筆者は唯一の正解が存在しない世界を生きる拠り所は美学しかないと思います。ここでは「状況が許す限り個々の場面での最善を模索する」という美学を可能な限り貫きたいと思います。 ** この美学がもらすもの [#wb13778d] 以上から分かるとおり、結論は場面ごとに変化する可能性があります。たとえば、誌面が限られた記事であればエラー処理を省略したサンプルソースを書く場合があります。それは、「エラー処理は大切だが、そこで本当に伝えるべき情報ほど大切ではない」という判断によります。しかし、模範的なソースコードを書かねばならないときに、特に重要な最低限のエラー処理は省略できません。 つまり筆者は場面ごとに、行動も、書くコードも、語る内容も変る可能性があります。しかし、それは美学の貫徹の結果であって、方針が揺らいだわけではありません。ですから、特定のコードや文章から、筆者を「XX主義者」のように判断するのは妥当ではありません。別の場面では別のことを書く可能性があるからです。逆に言えば、筆者には固有のポリシーはありません。あるのは美学だけです。一般的に行われているC言語ソースの書き方であれば、どのような方法も筆者は受容します。それらを受容するのが美学です。