低级语言,高级语言,编译程序,解释程序。
1、机器语言
定义:计算机硬件只能识别由0、1组成的机器指令序列,即机器指令程序,因此机器指令是最基本的计算机语言。机器指令的集合被称为机器语言。
不足:由于机器指令是特定的计算机系统所固有的、面向机器的语言,所以用机器语言进行程序设计时效率低,程序的可读性很差(这不用说,谁会用0101001来写程序)。
2、汇编语言
用机器语言来写代码明显是不科学的,所以人们就用比较容易记忆的符号来代替0、1序列来表示机器指令,例如:用ADD表示加法,用SUB表示减法等。
定义:用符号表示的指令称为汇编指令,汇编指令的集合被称为汇编语言。
不足:汇编语言与机器语言十分接近,其书写格式很大程度上取决于特定计算机的机器指令,因此它仍然是一种面向机器的语言。开发起来不够通用,比如用于单片机,嵌入式中,程序开发人员还需要去了解单片机的引脚组成什么的。
3、低级语言与高级语言
低级语言:机器语言和汇编语言被称为低级语言。
高级语言:人们在低级语言的基础上,开发了功能更强、抽象级别更高的语言以支持程序设计,于是就产生了面向各类应用的程序设计语言,也就是高级语言。常见的有Java、C、C++、PHP、Python、Delphi、PASCAL等。这类语言与人们使用的自然语言比较接近,提高了程序设计的效率。
4、编译程序和解释程序
计算机只能理解0、1序列构成的机器语言,因此高级程序设计语言需要翻译,担负这一任务的程序称为“语言处理程序”。语言之间的翻译形式有多种,基本方式为汇编、解释和编译。
用某种高级语言或汇编语言写的程序称为源程序,源程序不能直接在计算机上执行。
如果源程序是用汇编语言编写的,则需要一个汇编程序将其翻译成目标程序后才能执行。如果源程序是用某种高级语言编写的,则需要对应的解释程序或编译程序对其进行翻译,然后在机器上运行。
解释程序
解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间代码后再加以执行。
编译程序
编译程序也称为编译器,它将源程序翻译成目标语言程序,然后在计算机上运行目标程序。
解释程序和编译程序的区别
- 在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程。翻译源程序生成独立的目标代码。
- 在解释方式下,解释程序和源程序(或其某种等价表示)都要参与到程序的运行过程中,运行程序的控制权在解释程序。翻译源程序不生成独立的目标代码。
5、程序设计语言的定义
一般的程序设计语言都涉及语法、语义和语用等方面。
语法
语法是由程序设计语言的基本符号组成程序中的各个语法成分(包括程序)的一组规则,其中由基本字符构成的符号(单词)书写规则称为词法规则,由符号构成语法成分的规则称为语法规则。
语义
语义是程序设计语言中按语法规则构成的各个语法成分的含义,可分为静态语义和动态语义。静态语义指编译时可以确定的语法成分的含义,而运行时刻才能确定的含义是动态语义。一个程序的执行效果说明了该程序的语义,它取决于构成程序的各个组成部分的语义。
语用
语用表示了构成各个记号和使用者的关系,涉及符号的来源、使用和影响。
6、程序设计语言的分类
命令式和结构化程序设计语言:Fortran、PASCAL和C语言等。
面向对象的程序设计语言:C++、Java和Smalltalk等。
函数式程序设计语言:LISP、Scala等。
逻辑型程序设计语言:PROLOG。
7、程序设计语言的基本成分
程序设计语言的基本成分包括数据、运算、控制和传输等。
总结
上面只是大概描述了一些程序设计语言的基本内容,如果要深究,那就让专业的人做专业的事,我这个程序员只需要了解即可。