1. ホーム
  2. functional-programming

[解決済み】手続き型プログラミングと関数型プログラミングの違いは何ですか?[クローズド]

2022-04-15 06:49:07

質問

Wikipediaの記事を読んでみると、どちらも 手続き型プログラミング 関数型プログラミング しかし、まだ少し混乱しています。どなたか、核心に触れるようなことを教えていただけませんか?

どのように解決するのですか?

関数型言語では(理想的には)数学的な関数、すなわち n の引数を取り、値を返す。プログラムが実行されると、この関数が必要に応じて論理的に評価される。 1

一方、手続き型言語では、一連の シーケンシャル ステップで構成されています。(という逐次論理を関数論理に変換する方法があります)。 継続渡しスタイル .)

結果として、純粋に関数的なプログラムでは、常に 同じ値 つまり、ユーザー入力やランダムな値のような不確実な値は、純関数型言語ではモデル化しにくいのです。


1 この回答の他の全てと同様に、それは一般論です。計算が呼び出された場所で順次評価するのではなく、その結果が必要なときに評価するというこの性質は、「遅延性」として知られています。すべての関数型言語が実際に普遍的に遅延であるわけではありませんし、遅延が関数型プログラミングに限定されるわけでもありません。むしろ、ここで示された説明は、異なるプログラミングスタイルについて考えるための「心の枠組み」を提供するものであり、それは明確で対極にあるカテゴリーではなく、流動的な考えなのです。