3 パラダイムの概要
構造化プログラミング
オブジェクト指向プログラミング
関数型プログラミング
考えるべきこと
内容
プログラミングには、構造化プログラミング、オブジェクト指向プログラミング、関数型プログラミングの3つのパラダイムがあり、これらは良いアーキテクチャを作るための3つの関心事に関連しているため、概要を紹介する。
アーキテクチャの3つの関心事と3つのパラダイムの関連
- コンポーネントの分離: オブジェクト指向プログラミング
- データ管理: 関数型プログラミング
- 機能: 構造化プログラミング
3つのパラダイムの要約
- 構造化プログラミング
直接的な制御の移行に規律を課すものである。
goto文の代わりに if/then/else や do/while/until に置き換えられた。 - オブジェクト指向プログラミング
間接的な制御の移行に規律を課すものである。
参照を階層的に制御できることを発見し、各階層のローカル変数やインスタンスなどの概念が生まれ、ポリモーフィズムの発見にもつながった。 - 関数型プログラミング
代入に規律を課すものである。
ラムダ計算という不変性を概念にした計算により、代入文がない。
これら3つのパラダイムはできることが増やしたのではなく、「すべきでないこと」を伝えている。
それは、「goto文」「関数ポインタ」「代入」の3つ。
これら3つのすべきでないことを、規律を課すことによってできなくした。
学びを活かすアイディア・行動
今の所特になし