首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >声明式编程范式和过程编程范式之间有什么区别?

声明式编程范式和过程编程范式之间有什么区别?
EN

Stack Overflow用户
提问于 2009-10-25 02:45:47
回答 8查看 87.7K关注 0票数 117

声明式编程范式和过程编程范式之间有什么区别?你能举几个例子吗?

存在哪些其他编程范式?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-10-25 03:21:16

祈使

命令式编程范式有几种子范式,例如过程型或面向对象的编程范式。

在命令式编程范例中,以不同程度的抽象逐步描述算法.

支持程序性范例的编程语言实例:

  • C(和大多数其他遗留语言)
  • PHP,主要是
  • 在某种意义上,所有的主要语言

面向对象

它通常指的是表现出从基本类型到派生类型同时继承方法和状态的类型层次结构的语言,但也包括不寻常的基于原型的JavaScript。

支持OO范式的编程语言示例:

  • Java

陈述式

声明式编程范式有几个子范例,例如函数或逻辑编程范例。

在声明式编程范例中,您描述一个结果或一个目标,并通过"黑匣子“获得它。祈使句的反面。

支持声明性编程范例的编程语言示例:

  • 雅克
  • 树梢
  • SQL
  • 正则表达式
  • lex
  • XSLT
  • 标记,troff,CSS,VHDL

功能

函数式程序设计强调功能的应用,没有副作用,没有可变的状态。上面的声明式系统展示了函数式编程的某些方面。

支持声明性功能范例的编程语言示例:

  • Haskell
  • OCaml
  • 方案
  • 二郎
  • F#
  • Scala
票数 124
EN

Stack Overflow用户

发布于 2009-10-25 02:54:18

声明式编程是指你可以说出你想说的话,而不必说出如何去做。通过过程编程,您必须指定准确的步骤才能得到结果。

例如,SQL比过程更具有声明性,因为查询没有指定生成结果的步骤。

票数 69
EN

Stack Overflow用户

发布于 2016-03-28 10:36:54

让我给你一个真实的例子:我需要一杯茶。

过程性:

  1. 去厨房
  2. 买糖,牛奶,茶,
  3. 把它们混在一起,在火上加热,直到火烧开。
  4. 把它放进杯子里拿来给我

Declarative:

  1. 给我来杯茶。

在一种过程语言中,您定义了整个过程,并提供了如何执行它的步骤。您只需提供订单,并定义流程将如何服务。

在声明性语言中,您只需设置命令或顺序,并让它在系统上如何完成该顺序。你只需要你的结果,而不深入它应该如何做。

票数 45
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1619834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档