js:语言精髓笔记5----语言分类
2024-10-18 22:24:53
计算模型:源于对计算过程的不同认识;
1.基于不同计算模型一般分为://教科书的一般分类
- 命令式语言;
- 函数式语言;
- 逻辑式语言;
- 面向对象程序设计语言;
2.基于程序本质分类: //编程的经典法则:算法+数据结构=程序;
- 命令式: //基于数据结构
- 结构化编程(冯诺依曼:计算机系统以存储和处理为核心)【面向存储的编程】;
- 面向对象编程;
- 说明式: //基于算法
- 函数式;
- 其他;
命令式语言面临的问题:如何抽象数据存储;
结构化编程:通过运算去改变内存;
- 结构:
- 控制结构:顺序,分支,循环;
- 组织结构:表达式,语句行,语句块,过程,单元,包等;
- 数据结构(命令式语言所关注的存储):基本数据结构,复合数据结构;
- 问题:
- 数据具体含义与关系;
- 面向数据存储形式的算法,脱离使用环境,算法结构也缺乏通用性;
- 僵化的类型和逻辑影响业务逻辑表达;
面向对象编程:对象系统:数据/行为/关系
- 优化:
- 更加细化的可见性设定,更好的数据封装性及数据域管理;
- 使用继承解决通用性;
- 使用多态解决业务逻辑冲突;
- 对象是更高层次的数据抽象,但它仍是对以结构的认可而不是以对算法的认可为前提的;//所以仍然是在结构影响算法当中;
面向接口的编程方法:
- 接口:更高层次的抽象,只暴露数据体的逻辑行为能力,而不暴露这种能力的实现方法和基于的数据特性;
- 接口基于的原则并不是结构确定则算法确定,而是在共同的规约描述下的算法功能的确定;
3.多范型语言:具有交叉分类特性的语言;其中JS支持函数式,命令式和(基于原型)面向对象;
最新文章
- 《UNIX网络编程(第3版)》unp.h等源码文件的编译安装
- C# Extension Methods
- jsp编程
- HTML基础及一般标签
- Unieap3.5-Grid+Form下拉列表高度设置
- Java 7 中 NIO.2 的使用——第二节 元数据文件的属性
- (4/18)重学Standford_iOS7开发_框架和带属性字符串_课程笔记
- JS中区分参数方法
- java下载文件
- pyqt MainWindow记录内容
- wikioi 1034 家 实时动态的网络流量(费用流)
- WP8.1小梦词典开发2:百度翻译API使用
- cuda内存总结
- 百度地图 js api 实现 line 居中显示
- YII框架CGridView sql有条件分页实现
- Oracle 体系结构chapter2
- @JSONField使用
- ElasticSearch6.5.0 【Rejecting mapping update to [posts] as the final mapping would have more than 1 type】
- 【原创】大叔经验分享(40)hdfs关闭kerberos
- a标签按钮样式