ダイクストラの構造化プログラミング

構造化プログラミングの構成要素は、順次、反復、分岐の3つである。
処理を汎用化する際に、ユーザ定義のデータに関する部分は汎用化を妨げる部分である。


最近のプログラミング言語では、反復や分岐に関して、データを含む部分に関して抽象化する機能がある。
例えば、ポリモルフィズムやDuck Typingにより、if文なしで分岐できたりとか、データ構造に依存せずにイテレーションできたりとか…。


つまりは、データに依存せずに処理がかけるということだが、ユーザデータのインタフェースが存在しなくてもかける処理というのは、かなり汎用度の高い処理である。


実は、配列もしくは、それに準ずるデータ「構造」というのは、通常ビルトインされているし、ユーザデータは、あらかじめ分からなくても、その器のデータ「構造」は用意しておけるので、そのインタフェースによってイテレータなどの処理は、あらかじめかける可能性はある。


あとは、ユーザデータ以外のインタフェースには、演算子があるが、演算子オーバーロードができない言語では、ほとんど汎用的な処理があらかじめ書けないと思われる。