Browsed by
每日归档: 2021年6月10日

声明式编程和命令式编程有什么区别?

声明式编程和命令式编程有什么区别?

閱讀本文約花費: 4 (分鐘)声明式编程和命令式编程有什么区别? (What is the difference between declarative programing language and imperative programming language? ) 作者:Jinfeng Hu链接:https://www.zhihu.com/question/22285830/answer/469177185来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 我不知道为什么这样一组概念会被提炼出来,因为通常这是一个只有在设计语言的时候才会考虑的问题。 计算机系统是分层的,也就是下层做一些支持的工作,暴露接口给上层用。注意:语言的本质是一种接口。 计算机的最下层是CPU指令,其本质就是用“变量定义+顺序执行+分支判断+循环”所表达的逻辑过程。计算机应用的最上层是实现人类社会的某种功能。所以所有计算机编码的过程,就是用逻辑表达现实的过程。层与层之间定义的借口,越接近现实的表达就叫越“声明式”(declarative),越接近计算机的执行过程就叫越“命令式”(imperative)。注意这不是绝对的概念,而是相对的概念。 当接口越是在表达“要什么”,就是越声明式;越是在表达“要怎样”,就是越命令式。SQL就是在表达要什么(数据),而不是表达怎么弄出我要的数…

Read More Read More

Scroll Up