• js:语言精髓笔记5----语言分类


    计算模型:源于对计算过程的不同认识;

    1.基于不同计算模型一般分为://教科书的一般分类

    • 命令式语言;
    • 函数式语言;
    • 逻辑式语言;
    • 面向对象程序设计语言;

    2.基于程序本质分类:  //编程的经典法则:算法+数据结构=程序

    • 命令式:   //基于数据结构
      • 结构化编程(冯诺依曼:计算机系统以存储和处理为核心)【面向存储的编程】;
      • 面向对象编程;
    • 说明式:   //基于算法
      • 函数式;
      • 其他;

    命令式语言面临的问题:如何抽象数据存储;

    结构化编程:通过运算去改变内存;

    • 结构:
      • 控制结构:顺序,分支,循环;
      • 组织结构:表达式,语句行,语句块,过程,单元,包等;
      • 数据结构(命令式语言所关注的存储):基本数据结构,复合数据结构;
    • 问题:
      • 数据具体含义与关系;
      • 面向数据存储形式的算法,脱离使用环境,算法结构也缺乏通用性;
      • 僵化的类型和逻辑影响业务逻辑表达;

     面向对象编程:对象系统:数据/行为/关系

    • 优化:
      • 更加细化的可见性设定,更好的数据封装性及数据域管理;
      • 使用继承解决通用性;
      • 使用多态解决业务逻辑冲突;
    • 对象是更高层次的数据抽象,但它仍是对以结构的认可而不是以对算法的认可为前提的;//所以仍然是在结构影响算法当中;

    面向接口的编程方法:

    • 接口更高层次的抽象,只暴露数据体的逻辑行为能力,而不暴露这种能力的实现方法和基于的数据特性;
    • 接口基于的原则并不是结构确定则算法确定,而是在共同的规约描述下的算法功能的确定;

     3.多范型语言:具有交叉分类特性的语言;其中JS支持函数式,命令式和(基于原型)面向对象;

  • 相关阅读:
    最小最大数
    ubuntu14.04在虚拟环境中安装flask遇到的问题
    线性时间排序
    NSURLSession详细介绍,以及一些坑位的介绍
    IOS笔记 本地化多语言支持
    Documenting in Xcode with HeaderDoc Tutorial
    高效使用你的Xcode
    Xcode 7遇到 App Transport Security has blocked a cleartext HTTP 错误
    iOS bug解决方案(02)
    CGRect 的使用
  • 原文地址:https://www.cnblogs.com/jinkspeng/p/4012561.html
Copyright © 2020-2023  润新知