[解決済み] プログラミングにおける宣言型パラダイムと命令型パラダイムの違いは何ですか?
2022-03-14 10:16:21
質問
の定義を知りたくて、ウェブで検索しています。 宣言的 と 命令型 というようなプログラミングをすることで、何か見えてくるものがあるはずです。しかし、私が見つけたいくつかの資料では、使われている言語が難しく、例えば、次のようなものです。 ウィキペディア . どなたか、このテーマに見通しを与えてくれるような実例(おそらくC#)をお持ちの方はいらっしゃいませんか?
どのように解決するのですか?
宣言型プログラミングと命令型プログラミングを比較したC#の好例がLINQです。
とは 命令的 プログラミングの場合、コンパイラに何が起きたいかを段階的に指示します。
例えば、このコレクションから始めて、奇数を選ぶとします。
List<int> collection = new List<int> { 1, 2, 3, 4, 5 };
命令型プログラミングでは、このようにステップを踏んで、何が欲しいかを決めていきます。
List<int> results = new List<int>();
foreach(var num in collection)
{
if (num % 2 != 0)
results.Add(num);
}
ここでは、こう言っています。
- 結果コレクションの作成
- コレクション内の各数値をステップ実行する
- 数値を確認し、奇数であれば結果に追加する
と 宣言的 一方、プログラミングでは、欲しいものを記述したコードを書きますが、必ずしもそれを得る方法を記述するわけではありません(欲しい結果を宣言しますが、ステップバイステップではありません)。
var results = collection.Where( num => num % 2 != 0);
ここで、私たちが言っているのは、「奇数であるところをすべて教えてください」であって、「コレクションを一通り見てください」ということではありません。 このアイテムをチェックして、もし奇数なら、それを結果コレクションに追加してください。
多くの場合、コードも両方の設計が混在しているので、必ずしも白黒つけられるわけではありません。
関連
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] C#のオートプロパティに初期値を与える最良の方法は何ですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] フィールドとプロパティの違いは何ですか?
-
[解決済み] 2つの日付の差(日数)を計算する?
-
[解決済み] SelectとSelectManyの違い
-
[解決済み] キーワード「ref」と「out」の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み】プロセスが実行されているかどうかを知るには?
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] "AngularJSで考える "って、jQueryのバックグラウンドがあれば?[終了しました]
-
[解決済み] べき乗演算とは何ですか?
-
[解決済み] React.jsにおけるdeclarativeとimperativeの違いとは?