質問

私はすべての科目に関するいくつかの記事を読みましたが、私は違いをまったく得ていません。

役に立ちましたか?

解決

構造化されたプログラミングは、機能的、手続き上、その他の多くを含むと思われる古い用語です。基本的に、指導から指導に直接ジャンプするのではなく、明示的なコントロールフロー構造を使用することを意味します。

その意味で、機能的および手続き的なプログラミングは、構造化されたパラダイムです。機能プログラミングは、宣言的なプログラミングでもあります - コードに与えられる構造は、その意味に対応しています - プログラムは、世界の状態を変える関数です。手続きプログラミングは、JavaやC ++などのOO言語を含む、あらゆるC言語またはその子孫の「典型的な」プログラミングと考えるものです。プログラムは一連の指示であり、連続的に実行され、途中でサブプロセーチを呼び出します。

または、それが有名に説明されているように:

機能的なプログラミングは、あなたの問題を数学者に説明するようなものです。命令的なプログラミングは、馬鹿に指示を与えるようなものです。

    --- arcus, #scheme on Freenode

他のヒント

機能プログラミングは、関数をファーストクラス要素として使用しています。高次関数を使用する(機能の取得および/または返却);強力な構成要素と十分に因数分解されたコードにつながります。一部の人々は、FPの純度の側面にも焦点を当てています。これは、同じ入力を考慮して、関数が常に同じ結果を返す必要があると言うことです。これらは、FPの2つの基本的な柱だと思います。また、副作用を避けることは、本質的にロード/ストアマシンレベルの命令から少し離れていると考えています。

構造化されたプログラミングは、Djikstraの「Gotoが有害と考えられている」論文に戻ります。 If/then/else/elif structuresを使用することを意味します。それは本質的に、比較/分岐マシンレベルの指示から少し離れています。構造化されたプログラミングは、機能的プログラミングと手順プログラミングの両方に直交しています。

手続き上のプログラミングは、一般的に一連の「声明」(「表現」とは対照的に)で構成される命令的な「サブルーチン」(純粋な「関数」とは対照的に)を使用したプログラミングを指します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top