大局的プログラミング:必要性と定義
大局的プログラミング(programming in the large)は必要か? この問は、設計(デザイン)やアーキテクチャが必要か? という問と同じだから、答はYESに決まっている。
とはいえ、大局的プログラミングの定義や捉え方は人によりかなり異なる。僕自身は、設計と同義ではあるが、通常プログラミング(programming in the small)と同列に、かつ相似的に扱いたい、という意図がある。
多くの人が(専門家も含めて)、"large"をシステムや開発チームが大規模であると解釈しているようだが、Goguenは「そうではない」と言っている(と思う)。programming in the smallとprogramming in the largeの違いは、一個のモジュールの中身を作ることに注目するか、複数のモジュールの組み合わせに注目するかの違いであり、サイズの問題ではない、と。ただし、システム/開発チームの規模が大きくなれば大局的プログラミングの重要性が増すのは明らかである。
Goguenは、モジュール(あるいはソフトウェア・コンポネント)の組み合わせ方を整理している。それは、通常プログラミング(programming in the small)のデータ型や制御構造に相当する。