2010-05-11

進まない

C++0x本の執筆が、遅々として進まぬ。ブログを更新する暇がないくらい、取り組んでいるというのに、肝心の文章は、さっぱり進まぬ。とかくにBasic conceptsは難しい。

結局、完全に正しい詳細というのは、規格の文面の直訳に成り下がってしまう。それなら、規格を読むに如かずと言われたら、立場がなくなってしまう。私は、自然言語の正しい翻訳などということは不可能だと考えている。

件のプログラミング雑誌を創刊するにあたり、Bjarne Stroustrupへのインタビューを敢行した。詳しくは、6月頃に発行される雑誌をみてほしいが、このインタビューでは、C++の教育に関して、BSへ意見を求めている。BSは、あまりに深い詳細を解説するのは無駄であると答えた。何でも、詳細を理解することは可能だが、仮に理解したところで、現実のプログラミングの能力が上がるわけではない。言語の詳細は、必要なだけ理解しておけばいい。ということであった。

実際、BSの考えは正しかったと、いまさらになって痛感している。規格で定義されている、本当に正しい厳密な詳細は、C++コンパイラや、STLやBoostを書くのでもない限り、現実のプログラミングでは、まず役に立たない知識だ。

もう一つ懸念しているのは、私の執筆に対する意欲が、どうも上がらないということである。これは、結局、私自身は、C++の言語自体に対する参考書を必要としていないというのが、原因なのだろう。私は、C++について、何か疑問の生じることがあれば、まず規格を確認する。誰か他人の書いた参考書ではないし、ましてや、自分の書いた文章でもない。私は、STLのクラスだとか、クラスのメンバーなども、参考書などではなく、規格を参照して使う。

というわけで、私が読む参考書というのは、規格ではカバーしていない部分、つまり、プログラミングのテクニックやアルゴリズム、あるいは、規格の文面には載っていない歴史的経緯といった類の本になる。つまり、今私の執筆している言語機能を解説する本は、私自身は、特に必要としてないのである。これでは意欲の維持が難しい。

しかし、世は、言語機能を解説する本を必要としている。ここで誰か、規格をかじっていて、実務経験も豊富な真のプログラマが、私のかわりに本を書いてくれるのが、最良なのだが、なかなか、そういうことにはならないようだ。

やるしかないのか。

3 comments:

ntnek said...

規格書を補完する資料として使える参考書は欲しいなあ、と思います。
たとえば、規格書では文で列挙されている部分、あれが整理された図や表になってると嬉しい。
あるいは「この概念については規格書のどこどこを読め」というのが豊富で、逆引きに使える参考書なんてのも嬉しいですね。

#まあなんにしても、出たら買うつもりでいますが。

Anonymous said...

Declarators まででいいんじゃないだうろか。
その辺までの丁寧に解説された本でいい気がする。
最後まで行こうとすると気が遠くなるだけだ。
というか、
9章(クラス)以降は意外に具体的で(俺は)わかりやすいし、
8章までは自分でわかったつもりでいても
実はそうじゃないことも(俺は)あったから。

クラスの説明が出てこないC++解説書
というのもあっても悪くはないと思う。

Anonymous said...

規格がなぜこうなっているのかとか、どうしてこの規格があるのかとか、そういうことを判りやすく説明すればいいんじゃないですかね。
そもそも,規格が完璧に読めない人に対する本じゃないですか。読める人ばかりなら不要なものですし。

あと、時間について2点:
そして判らない部分は誰かに聞くか、考えても判らないなら素直に判らないと書くか、「ここの説明はない」と書かないと進みません。
あと、完全版を目指すのはやめた方がいいと思います。これも執筆時間を食い過ぎる原因です。
この2点に気をつけないと、たぶんずっと出せませんよ。