我看到知乎上有个问答:声明式编程和命令式编程的区别
What is the difference between declarative programing language and imperative programming language?
看了所有回答,还是没有搞清楚,到底什么是命令式编程,什么是声明式编程


举报 使用道具
| 回复

共 2 个关于本帖的回复 最后回复于 2019-10-6 23:24

沙发
Fuller 管理员 发表于 2019-10-6 23:20:21 | 只看该作者
这篇文章做了解释,并且分别举了例子:Imperative vs. Declarative Code... What's the Difference?

命令式编程是我们熟知的,根据这篇文章,面向过程的和面向对象的编程都是命令式的,编程语言包含汇编、c、c++、C#、PHP、Java。聚焦于用语句解决“怎么做”的问题
而声明式编程包括:HTML、XML、CSS、SQL、Prolog、Haskell、LISP,更侧重于逻辑、功能和领域问题的解决。

命令式编程举例:
  1. let str = "Hello World!";
  2. console.log(str);
复制代码
用一行行语句命令计算机做事情

声明式编程举例:一段html代码
  1. <img src="image.jpg" />
复制代码
让浏览器显示一个图片,并不关心怎么做。

但是,我就产生了一个疑问:虽然你在这里不关心怎么做,但是总得做吧,谁做?
举报 使用道具
板凳
Fuller 管理员 发表于 2019-10-6 23:24:01 | 只看该作者
Fuller 发表于 2019-10-6 23:20
这篇文章做了解释,并且分别举了例子:Imperative vs. Declarative Code... What's the Difference?

命令 ...

我查到知乎上这个回答:https://www.zhihu.com/question/22285830/answer/469177185
意思是:计算机系统是一层一层堆叠起来的,下层接口给上层用。如果把“命令式编程”和“声明式编程”理解成“命令式接口”和“声明式接口”,那么上一楼的疑问就好解释了。
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • 运行Apple无法验证的程序的方法
  • 文本聚类分析软件的安装和使用方法
  • 利用AI阅读和分析文本:扣子COZE记录用户反
  • 在网页片段内直观标注——以B站评论采集为
  • 利用AI阅读和分析文本:使用COZE建设游记文

热门用户

GMT+8, 2024-12-24 03:42