これが故障です:
命令的なプログラミング:
* フォーカス: コンピューターに何かをする方法 *に伝えます。
* 構造: 一連の指示を段階的に提供します。
* 例: 「ドアを開けて、ドアを歩いて、ドアを閉めます。」
宣言プログラミング:
* フォーカス: コンピューターに *何をするかを伝えます。
* 構造: プロセスではなく、望ましい結果を説明します。
* 例: 「ドアの反対側に着く。」
ケーキを焼くように考えてください:
* 命令: 「オーブンを350°Fに予熱します。2つの卵を割ってください。小麦粉、砂糖、バターを混ぜます。バッターを鍋に注ぎます。30分間焼きます。」
* 宣言: 「チョコレートケーキを作ってください。」
重要な違い:
* 制御フロー: 命令的なプログラミングは、制御フローを明示的に管理し、宣言的なプログラミングはシステムに任せます。
* 副作用: 命令的なプログラミングは、多くの場合、副作用(プログラムの状態を変える)に依存していますが、宣言的なプログラミングはそれらを最小限に抑えることを目的としています。
* 読みやすさ: 宣言コードは、特に複雑なタスクでは、より読みやすく、理解しやすいと見なされることがよくあります。
プログラミング言語の例:
* 命令: C、Java、Python(命令的に使用できます)
* 宣言: SQL、HTML、Prolog、Haskell(純粋に機能的な言語は宣言的です)
要約:
宣言的および命令的なプログラミングは、問題解決に対する明確なアプローチです。命令コードは手順を指定しますが、宣言コードは目的の結果に焦点を当てています。どちらにも長所と短所があり、選択は手元の特定のタスクに依存します。
