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

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

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

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

  • 命令式:   //基于数据结构

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

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

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

  • 结构:

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

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

  • 优化:

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

面向接口的编程方法:

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

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

最新文章

  1. 《UNIX网络编程(第3版)》unp.h等源码文件的编译安装
  2. C# Extension Methods
  3. jsp编程
  4. HTML基础及一般标签
  5. Unieap3.5-Grid+Form下拉列表高度设置
  6. Java 7 中 NIO.2 的使用——第二节 元数据文件的属性
  7. (4/18)重学Standford_iOS7开发_框架和带属性字符串_课程笔记
  8. JS中区分参数方法
  9. java下载文件
  10. pyqt MainWindow记录内容
  11. wikioi 1034 家 实时动态的网络流量(费用流)
  12. WP8.1小梦词典开发2:百度翻译API使用
  13. cuda内存总结
  14. 百度地图 js api 实现 line 居中显示
  15. YII框架CGridView sql有条件分页实现
  16. Oracle 体系结构chapter2
  17. @JSONField使用
  18. ElasticSearch6.5.0 【Rejecting mapping update to [posts] as the final mapping would have more than 1 type】
  19. 【原创】大叔经验分享(40)hdfs关闭kerberos
  20. a标签按钮样式

热门文章

  1. IOS 使用横屏
  2. 在pc游览器端模拟移动端幻灯片
  3. Windows2003操作系统SQL Server 2008安装图解(详细)
  4. [官方说明] 为什么ES4要分成两阶段?
  5. HDOJ 1257 (最长字序列问题)
  6. Floyd算法 及其运用
  7. jquery.fileupload.js 杂记
  8. js获取文本框输入的值
  9. for循环,pydev提示未使用的变量,解决办法
  10. Cocos2d 中的Sprite大小调整问题