大局的プログラミング:プログラミング言語/ツール
大局的プログラミング(programming in the large)もプログラミングなのだから、当然にプログラミング言語が必要である。が、通常のプログラミング言語に大局的プログラミングが統合された言語は存在しない。
仕様記述言語は、GoguenのOBJファミリーをはじめ山のようにあるが、どれも広く使われてはいない。仕様記述専門の言語を使え、というのはどうも無理があるのかもしれない。代替案は:
僕は、現存するプログラミング言語と図形の組み合わせが有望かと思っている。もちろん、すでにグラフィカルな仕様記述ツールは存在するのだが、これがまたけっこう精密に出来ていて、相当に複雑なグラフを描くことができる -- ここが間違いだと僕は思うのだ。
システム構造は複雑だから、ツールは複雑なレイアウトやレンダリングの能力を持つべき -- というのが間違い。そうじゃなくて、ツールは複雑なレイアウトやレンダリングの能力を持ってはいけないのだ。単純な構造を強制することに意義があるのだから。
「いかに単純化するか」が努力目標なのであって、複雑なレイアウトに対応することには弊害しかない。複雑なレイアウトでしか描けない構造は、その構造のほうがダメなのだ。