4

我一直在自学一些关于声明式编程与命令式编程的知识,并且我已经(可能是错误的)理解声明式编程或多或少只是抽象。

例如,根据我对这些概念的理解,调用方法来做某事是声明性的,而方法的实现是命令性的(但不一定?只是不是声明性的)。

因此,似乎无论您在哪里有声明性代码,在某个地方它都必须依赖非声明性代码来实现。这只是它的本质,还是有 100% 声明性的语言(我什至无法开始概念化)?

如果我对这些概念的理解不正确,请纠正我!尽管我已经获得计算机科学学士学位大约一半,但我觉得到目前为止我只被教导“键入内容,以便在运行代码时发生正确的事情”。

谢谢。

4

1 回答 1

0

声明式编程表达了软件组件的逻辑,而没有概述它的控制流。您正在谈论的调用函数的方法(称为函数式编程 - 声明式编程的一个子范式)可能有点令人困惑,尤其是在学习编程并且可能学习像 C/C++/Java 这样的语言时。有一些函数式编程语言,例如 Lisp 和 Haskell,完全利用了函数式范式。

刚开始时,我不会尝试同时学习这些范例的实现。相反,我发现将声明性语言视为像 CSS SQL 这样的高度表达语言是最容易的。他们用简单的英语描述了应该做什么,而将如何抽象掉。

于 2015-07-24T18:05:33.117 回答