4

私は宣言型プログラミングと命令型プログラミングについて少し独学してきましたが、宣言型プログラミングは多かれ少なかれ単なる抽象化であるという(おそらく間違っている)理解に達しました。

たとえば、私がこれらの概念をどのように理解しているかによると、メソッドを呼び出して何かを行うことは宣言的ですが、メソッドの実装は必須です (必ずしもそうではありませんが、宣言的ではないだけです)。

したがって、宣言型コードがある場合は、どこかで非宣言型コードに依存して実装する必要があるように見えます。これは単なる性質なのか、それとも 100% 宣言型の言語 (私が概念化することさえできないもの) があるのでしょうか?

これらの概念に対する私の理解が間違っている場合は、修正してください。私はコンピューター サイエンスの学士号を取得したばかりですが、「コードを実行したときに適切な処理が行われるように入力する」ことしか教えられていないように感じます。

ありがとう。

4

1 に答える 1

0

宣言型プログラミングは、ソフトウェア コンポーネントのロジックを、その制御フローを概説せずに表現します。あなたが話している関数呼び出しの方法論 (関数型プログラミングと呼ばれる - 宣言型プログラミングのサブパラダイム) は、特にプログラミングを学習し、おそらく C/C++/Java のような言語を学習するときに、少し混乱する可能性があります。Lisp や Haskell など、関数型パラダイムを完全に利用する関数型プログラミング言語があります。

始めたばかりのとき、私はこれらのパラダイムの実装を同時に学ぼうとはしませんでした。代わりに、宣言型言語を CSS SQL のような表現力の高い言語と考えるのが最も簡単だと思います。彼らは何をすべきかをプレーンな英語で説明し、HOW を抽象化しています。

于 2015-07-24T18:05:33.117 に答える