Wikipediaの構造化プログラミングの項目で

次のような言葉を発見。

「サブルーチン」とは不変契約をみたす関数や手続き、すなわち「同じ値を渡せば常に同じ結果が得られる」ことを満たすような部分処理を指す。つまりデータと機能は直交するもので、可能な限りお互いの文脈に依存しないように分割しなければならない。

wikipedia:構造化プログラミング

「同じ値を渡せば常に同じ結果が得られる」というのは、参照透過性の説明でよく聞く言葉です。さらに、データと機能は直行するものだとも書いてあります。これはデータとそのデータに可能な操作をまとめて抽象化するオブジェクト指向の考え方よりは、関数型の考え方に近いものだと思います。

上記のWikipediaにある記述は、ダイクストラが主張したものなのか、それともWikipediaの寄稿者が主張しているものなのか、自分にはわかりません。ダイクストラが正確に何を言ったのか、いちど調べてみる必要があると思いました。英語は苦手ですが。

<追記>
英語版にはそのような記述はありませんでした。
wikipedia:en:Structured_programming
そもそも英語版と日本語版で内容が違うような…。