【发布时间】:2015-10-15 11:00:34
【问题描述】:
我一直在自学一些关于声明式编程与命令式编程的知识,并且我已经(可能是错误的)理解声明式编程或多或少只是抽象。
例如,根据我对这些概念的理解,调用方法来做某事是声明性的,而方法的实现是命令性的(但不一定?只是不是声明性的)。
因此,似乎无论您在哪里有声明性代码,都必须依赖非声明性代码来实现。这只是它的本质,还是存在 100% 声明性的语言(我什至无法开始概念化)?
如果我对这些概念的理解不正确,请纠正我!虽然我的 B.A.在计算机科学领域,我觉得到目前为止我只被教导“键入内容,以便在您运行代码时发生正确的事情。”
谢谢。
【问题讨论】:
-
我不是这方面的专家,但您的问题似乎更适合programmers.stackexchange.com,它更多地是关于概念而不是解决方案。你可能还想试试 Quora (quora.com)。
-
声明性代码需要某种执行策略。目前在常见的计算机体系结构上,在某些时候将在实现中依赖某种命令式编程。
-
部分原因是因为任何级别的高级语言组织都是如此。一切最终都编译为处理器指令集中的某些东西,在那个级别上只有命令式的。您没有足够的工具包来执行功能性、声明性或其他任何事情。从这个意义上说,声明式、函数式和许多其他高级语言组织“在某个地方必须依赖 [a] 非声明式 [] 实现”,这是微不足道的事实。
标签: theory abstraction declarative paradigms imperative