• 再稍微深入理解声明式编程范式

    试着回答一些问题
    服务器君一共花费 20.233 ms 进行了 3 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    前面一节我们谈到了声明式范式,那么理解了多少呢?试一下回答下面的问题:

    • 什么是声明式编程?它与命令式编程有何区别?
    • 什么是函数式和逻辑式?
    • 变量在命令式编程和声明式编程中有何不同的涵义?
    • 声明式语言有何优点?为什么没有命令式语言流行?
    • 命令式语言与声明式语言有无相通之处?
    • 编程的本质是什么?命令式、函数式和逻辑式分别采用了怎样的编程机制?
    • 命令式程序式程序设计语言的实质是赋值语句占主导地位。 赋值语句的目的是改变变量的值,因此在所有的命令式程序设计语言中,其相同之处就是不停的变幻变量的值,最后达到我们的目的。命令式编程比较偏机器一点,人为地迎合机器。PHP属于命令式程序设计语言的一种。

    编程范式就是关于编程的方法,编程的思维,下面是关于命令与声明的一些见解:

    • 命令式编程通过一系列改变程序状态的指令来完成计算,声明式编程只描述程序应该完成的任务。命令式编程模拟电脑运算,是行动导向的,关键在于定义解法,即“怎么做”,因而算法是显性而目标是隐性的;声明式编程模拟人脑思维,是目标驱动的,关键在于描述问题,即“做什么”,因而目标是显性而算法是隐性的。
    • 函数式编程通过数学函数的表达式变换和计算来求值。
    • 逻辑式编程通过一系列事实和规则,利用数理逻辑来推导或论证结论。
    • 命令式编程中的变量代表抽象化的内存,所存内容可能改变。声明式编程中的变量代表抽象化的符号,所指对象一般不会改变。
    • 声明式编程专注问题的分析和表达而不是算法实现,不用指明执行顺序,一般没有或极少副作用,也不存在内存管理问题。这些都大大降低了编程的复杂度,同时也非常适合于并发式计算。
    • 编程语言的流行程度与其擅长的领域密切相关。函数式语言和逻辑式语言擅长基于数理逻辑的应用,命令式语言擅长基于业务逻辑的、尤其是交互式或事件驱动型的应用。
    • 声明式语言与命令式语言之间并无绝对的界限,它们均建立于低级语言之上,并且互相渗透融合。
    • 在命令式语言中引入函数或过程,是一种向声明式风格的趋近。
    • 编程是寻求一种机制,将指定的输入转化为指定的输出。
    • 三种核心编程范式采用如下不同的机制:
      • 命令式:自动机机制,通过设计指令完成从初始态到最终态的转变。
      • 函数式:数学变换机制,通过设计函数完成从自变量到因变量的计算。
      • 逻辑式:逻辑证明机制,通过逻辑推理完成从题设到结论的证明。
更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [C语言程序设计] C语言里的全局变量 2 个条目
  2. [PHP程序设计] PHP中的Hash算法 3 个条目
  3. [Linux操作系统] CentOS上使用EPEL Repository 2 个条目
  4. [移动开发] 刷机与root相关 2 个条目
  5. [智力开发与知识管理] 学习编程为什么没会这么难? 7 个条目
  6. [软件工程与项目管理] 浏览器与CSS渲染技巧 2 个条目
  7. [移动开发] Layout_weight属性解析 5 个条目
  8. [Python程序设计] Django Web环境配置 2 个条目
  9. [Linux操作系统] 基本 Linux Shell 命令 2 个条目
  10. [搜索引擎优化] 与百度权重有关的信息 2 个条目
  11. [PHP程序设计] PHP数组探索 4 个条目
  12. [软件工程与项目管理] 浏览器的CSS解析 7 个条目
窗口 -- [八点]