ヘッダーファイルは好きですか?

プログラミング話。
「オブジェクトは難しくない。難しいのはクラス」を読んでぼんよりと考えたこと。
最近明確化してきたのだが、私は C言語や C++ のヘッダーファイルが好きなようである。というか、クラス宣言が好きなのだな。だから Delphi(Object Pascal) も好きである。
逆に大多数の怠惰(褒め言葉)なプログラマーは宣言を書くのを疎ましく思っているらしい。ヘッダーファイルを書かなくて良いので Java, D言語, C# を使っているというのは頻繁に聞く言葉である。

なぜに私はヘッダーファイルが好きなのかというと、なによりこれを先に書き始めて満足したレベルまで完成してからコード部分を書き始めるというプログラミングスタイルにある。
つまり、ヘッダーファイルやクラス宣言は「俺の目的を実現するために必要な物はコレである」という設計図なのだ。必要な変数、メンバー、メソッド、どれがあってどう連携すれば実現できるのかという大筋がそこに現れる。
やがてコードを書き始めるわけだが、書き終えるまでヘッダーを改変することなく終了すれば私の設計は正しかったと最高の満足が得られるし、改変が多すぎた場合は見通しが甘すぎたとしてどこが見越せていなかったのかの指標となる。
だから、ヘッダーファイルを書くときにはうんうん唸っているが、後はプログラミングという具現化作業でしかない。

この行程が何かに似ているなあと感じたら、私にとっての本や原稿といった文章執筆作業が同じワークフローであった。
以前からたびたびアウトラインプロセッサーが大好きで、章立てをまず作ってから文を書き始める、といった事を述べているがそのことである。最近はマインドマップを多用しているが、これもワードを階層化して順番や数を検討するといった目的が多くアウトラインプロセッサーの延長的に使っている。
で、大きな文章を書くときには章と節を書き連ね話題の推移や分量を「設計」する。わかりやすく言うと最初に目次をつくるのですな。目次にストーリーと流れを上手く表現することができたら、その時点で内容は確定している。
で、あとは実際に文を章にぶら下げていくといった風味。

だからヘッダーファイルも「目次」であると思うのです。
そう考えると Java が javadoc というソースコードからドキュメントを抽出する仕組みを必要とした理由がわかるような気がする。目次がないのでソースから生成するしかなかったのね。なんとなく TeX を思い出してしまった。

そういった気合いの入った文章と取り組む場面だけではなく、ブログみたいに単文の書き散らかしのようなプログラミングをすることももちろん多いわけで。そういったときには Lightweight Language でさくっと組んで作り捨てたり、リンクメモの様にライブラリを使うだけのコードで済ましたりといったこともするのですな。
ruby なんかは小説を書こうと思えば書けるブログ、といった感じだろうか。

プログラム重要というより設計重要というふうに思考がシフトしている途中なのかも。




You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

2 Responses to “ヘッダーファイルは好きですか?”

  1. し〜くる Says:

    私もヘッダファイルを書くときが一番好きですね。なに作ろう、こういう機能をつけようとか考えてワクワクしながら書きます。書き終えると、それだけで満足してしまうことも多々あります。私も設計が重要だと思います。設計がきちんとしていれば、実装はスムーズにできますね。

  2. rerofumi Says:

    ヘッダーだけ書いて満足というのはあるよね。

Leave a Reply