目录
一、什么是程序设计语言
能够实现人与计算机的交流。Zuse研制出使用继电器的程序控制计算机Z-3,Z-4;
程序设计语言的演化:计算机语言(开“1”,关“0”,优点:计算机可以直接识别,运行效率高,缺
点:可移植性差,可读性差);
汇编语言(符号语言)——有明显的局限性,但有明显的优点,仍在常用:用助记符代替操作码,
用地址符号或标号代替地址码;
高级语言:适用于不同工具。
二、高级语言类型
面向过成语言(把程序看成活动主体,该活动主体使用被称为数据或数据项的被动对象。为了操纵
数据活动主体发布动作,称为过程。过程是被编写的一个独立的实体,程序不定义过程,只触发或
调用过程。优点是易于理解和掌握,过程式程序设计式自上而下的),面向对象语言(将世界看成
由交互的对象构成的,每个对象负责自己的动作。面向过程语言中,数据对象是被动的,由程序进
行操作;面向对象语言中,对象是主动的),函数式语言(以数学函数为基础),逻辑式语言(被
称为声明式语言或说明性语言,依据逻辑推理的原则响应查询)。
三、面向过程语言
变量和基本数据类型(整型(大小由字节数决定),浮点型(大小由字节数决定),字符型
(ASCII中的字符用一个字节,Unicode中的字符用两字节),布尔型(只有两个值True,
False)),常量(字面常量(字面形式即可识别的常量),符号常量(使用一个标识符来代表的
常量)),运算符与表达式(运算的对象是数据,基本运算:算数运算,关系运算,逻辑运算,赋
值运算;一系列的运算数通过运算符联系在一起产生一个值的式子就是表达式:算术运算表达式
(结果是数值),关系运算表达式(结果是布尔值,表示关系运算是否成立),逻辑运算表达式
(结果是布尔值)),程序结构(顺序结构,选择结构,循环结构),函数,注释。
四、面向对象语言
面向对象的基本概念(对象,类——指一组具有相同特征的对象的抽象,即将某些对象的相同特征
抽取出来,形成的一个关于这些对象集合的抽象模型,类与对象关系密切,属性——描述对象的特
征,方法——允许作用于某个对象的各种操作,可以通过调用对象的方法实现该对象的动作,消息
——对象之间进行通信的结构,对象有一个生命周期,可以被创建和销毁,只要对象正处于其生命
周期,就可以与其进行通信),面向对象的特征(抽象——指从许多事物中舍弃个别的,非本质的
特征,抽取共同的,本质的特征,包括(过程抽象——描述对象的共同行为特征或具有的共同功
能,数据抽象——描述对象的属性或状态对一个具体问题进行抽象分析的结果是通过类来描述和实
现的),封装(指把数据和动作集合在一起,数据和动作的逻辑属性与它们的实现细节是分离的,
实现了信息屏蔽),继承(一个类可以继承另一个类的行为和数据,它支持按级分类的概念,所处
层次越低,对象越专门化),多态性(指一种语言的继承体系结构中具有两个同名方法,并且能够
根据对象应用合适的方法的能力,同一操作作用于不同的类的实例,将产生不同的执行结果,即不
同的对象收到相同的消息会得到不同的结果,提高了程序设计的灵活性和效率)),面向对象的特
点(可重用性——提高效率,可维护性,表示方法的一致性)。
五、程序设计语言的执行过程
编辑源文件(编写好的程序文件被称为源文件),预处理及编译(能够把由C等高级语言编写的源
程序转换成机器代码的程序被称为编译器。在任何一个C系统中,总有一个预处理程序,在编译工
作开始之前自动执行,预处理程序处理以#开头的命令。预处理结束后,编译器读入源程序,进行
词法分析——输入源程序,对构成源程序的字符串进行扫描和分析,识别出一个个单词符号,将所
识别出的单词用统一长度的标准形式来表示(将源程序中的字符串变换成单词符号流的过程,遵循
语言的构词规则),语法分析——根据语言的语法规则把单词符号流分解成各类语法单元,语义分
析和中间代码生成——对每种语法单位进行静态语义检查,在语义正确的情况下进行中间代码的翻
译,目标代码优化——对前一阶段产生的中间代码进行等价变换或改造,以获得更高效的目标代
码,目标代码生成——把中间代码变换成针对特定机器的机器语言程序或汇编语言程序,完成最终
的翻译工作。因为目标语言的关系十分依赖硬件系统;表格管理和出错处理),链接(把多个目标
文件结合起来,生成一个EXE文件的处理过程就是链接,运用的程序就称为链接器,连接器也可以
检查和报告错误,链接阶段出现错误意味着必须重新编辑源程序),加载和运行;
六、高级语言发展历程
C,Java,Python,C++,C#,JavaScript,SQL,PHP,Ruby。