2010-03-22

雑誌に載せる記事案の変更

プログラミング雑誌に載せる私の記事は、「C++の歴史」と題して、文字通り、C++の歴史について書く予定であった。当初は、D&Eを元にして、Bjarne Stroustrupを主人公にしたて、時系列にそって、記述して良く予定だった。

FCD制定にあたって、かなり大幅な変更が加わったので、post-Pittsburgh mailingがでるまでは、C++0x本の記述も、うっかり進めるわけには行かぬ。記事を書くには、好都合だ。

もう一ヶ月以上前、雑誌の話が来た時に、このように、書き出した。

1979年のことであった。イングランドはケンブリッジ大学で、ひとりの男が、博士号を取るための研究に勤しんでいた。彼の名はBjarne Stroustrup、当時29歳。後に、「C++の設計者にして最初の実装者」と呼ばれる男である。

しかし、すぐに壁に突き当たった。Bell Labに入った後の、Bjarne Stroustrupの足取りは、詳しく追うことができないのだ。

おそらく、本人に聞けば、教えてくれそうな気もする。しかし、よくよく考えてみれば、それはBjarne Stroustrupの伝記になってしまう。C++の歴史ではない。

結局のところ、C++は、Bjarne Stroustrupがクレジットを主張できるようなものではないのだ。Bjarne Stroustrupが、真に、自由に言語を設計できたのは、ほんの数カ月の間のことであった。それ以降は、すぐにBell Labのメンバーの意見が入ったし、すぐに、ISOによる標準規格の制定作業という形になってしまった。Bjarne StroustrupがC++に与えた影響は、もちろん無視できないが、それほど大きくもないのだ。

というわけで、Bjarne Stroustrupを中心にした、編年体の歴史書は、行き詰まってしまった。全然文章が進まないのだ。D&Eを参考にすれば、書けることは書けるだろうが、支離滅裂になって、ひどくまずい文章に成り下がるだろう。

だいたい、C++の各機能は、単純に時系列で追うことはできない。クラスならクラス、テンプレートならテンプレートと、分けて考えなければならない。

そもそも、D&Eに書いてあることは、D&Eを読めばいいのだ。私はあの時代を生きていなかった。Bjarne Stroustrupを超える文章を書けるわけがない。

しかし、D&E以降の歴史なら、需要があるはずだ。C++以降の歴史は、いろいろと文章になって点在しているが、それらをまとめた本はない。

さらに、記述方法だが、各機能ごとに、紀伝体で書けばいいのではないか。

というわけで、D&Eに載っていない、それ以降の歴史を書くことにした。テンプレートやSTL。具体的な例を上げれば、exportにまつわる歴史だ。exportが規格に入るまでの歴史は、これが、なかなか面白いのだ。

さらに、我が日本の恥づべき黒歴史、EC++についても、面白いことが書けるだろう。EC++を提案した連中(複数の日本企業)は、C++の多くの機能(例えばnamespaceなど)について、「新しすぎて(俺らには)使えないし、難しすぎて(俺らには)実装できない」と、大真面目に答えたのである。

余裕があれば、C++0xにまで、手を広げられるかもしれない。面白そうだ。

1 comment:

  1. 「Bjarne Stroustrup 氏の伝記」も、読んでみたいです。雑誌が続くようなら期待したいのですが

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.