zoukankan      html  css  js  c++  java
  • 发现编程范型一:认识范型

    什么是编程范型

    • 缘起:
      上学的时候学习C/C++语言和Java语言,工作后又陆续接触了一些编程语言python/lua/objective-c等,
      发现每门语言开始学习的东西都是相似的,helloworld程序、类型与变量、操作符、表达式及面向对象的类、继承和多态等,
      这个时候就会发现这种重复就是一种规律--网上查找之后才知道这个叫做编程范型。
    • 网上释义:
      编程范型,是一类典型的编程风格,提供了(同时决定了)程序员对程序执行的看法。
    • 编程语言的思考:
      程序设计语言,是一个有限的词汇与规则的集合,用于描述一个特定的问题。
      所有的编程语言最后都要编译成机器理解的二进制代码,理论上所有语言都是相等的。
      但多语言的出现是伴随不同问题领域出现的,所以不同语言的侧重点也不同,语法也不同。
    • 范型:
      一个连贯完整的词汇集以及组合规则,可以产生一种范型--定义出很大一部分的语言特质。
      范型的重要性,可生成简洁的、可读性强的代码,保持问题域和软件模型之间的一致性。
    • 语言的其他特性:
      语言的其他特质:类型种类(动态/静态),句法及其他因素。
    • 使用多语言编程:
      • 将问题域分解为差异明显的多个部分 -- 分析问题,合理的将分解问题
      • 为子领域选择正确的/合适的语言/范型

    编程范型简要体系

    该体系结构摘录自:编程范型wiki
    虽然很多看不太懂,但是感觉不明觉厉
    推荐相关书籍:《七周七语言:理解多种编程范型》

    • 面向代理
    • 基于组件(如OLE)
      • 基于流
      • 管道(Unix/Linux中的管道)
    • 连续式
    • 并发计算
    • 声明式(对比:命令式)
      • 函数式
        • 数据流
          • 面向细胞(电子表格)(如Microsoft FoxPro)
          • 无功
      • 面向图形
      • 目标导向
        • 约束
          • 逻辑
            • 回答集编程
            • 约束逻辑
            • 溯因逻辑
            • 归纳逻辑
    • 事件驱动
      • 面向服务
      • 时间驱动
    • 功能导向
    • 函数级(对比:价值级)
    • 命令式(对比:声明式)
      • 非结构化
        • 阵列(对比:标量)
        • 迭代式
      • 结构化
        • 过程式
          • 模块化
          • 递归式
        • 面向对象
          • 基于类
          • 基于原型
          • 自动机
          • 根据关注分离:
            • 面向方面(如AspectJ)
            • 面向主题
            • 面向角色
    • 元编程
      • 面向属性
      • 自动
        • 泛型
          • 模板
            • 基于原则
        • 面向语言
          • 领域特定
          • 面向语法
            • 方言化
          • 意图
      • 反射式
    • 不确定
    • 并行计算
      • 面向过程
    • 大规模与小规模编程
    • 价值级(对比:函数级)
  • 相关阅读:
    00005-js 获取uuid
    00004-form 表单的清空、重置 (jquery)
    使用Socket进行通信
    使用ServerSocket创建TCP服务器端
    TCP协议基础
    基于TCP协议的网络通信
    3D MAX在立方体的使用
    应用纹理贴图
    使用OpenGL ES绘制3D图形
    GL10控制图形旋转
  • 原文地址:https://www.cnblogs.com/davidyang2415/p/3887313.html
Copyright © 2011-2022 走看看