一.计算机程序
计算机程序(program),就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。
Computer program, is a collection of instructions that performs a specific task when executed by a computer.
二.计算机程序设计语言
程序设计语言(program design language,简称PDL),又称编程语言(programming language),是一组用来定义计算机程序的语法规则。
自20世纪60 年代以来,世界上公布的程序设计语言已有上千种之多,但是只有很小一部分得到了广泛的应用。
1. 第一代语言(机器语言)
内存部份的范例:
整合范例
0000,0001,000000001000 代表STORE B, 16
0000,0001,000000000001 代表STORE B, 1
优点:计算机可以直接识别并执行,执行效率高
缺点:
开发工作繁杂琐碎 开发周期长,可读性差,不便于交流与合作,可移植性差,重用性差,程序设计曲高和寡。
2. 第二代语言(汇编语言)
汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在着难学难用、容易出错、维护困难等缺点。但是汇编语言也有自己的优点:可直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。 从软件工程角度来看,只有在高级语言不能满足设计要求,或不具备支持某种特定功能的技术性能(如特殊的输入输出)时,汇编语言才被使用。
§指令示例(For PIC16F627 microcontroller)
汇编语言:MOVLW 0x5A
§表示将操作数0x5A移到当前寄存器
汇编语言编译器:使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,或汇编语言编译器。
3. 第三代语言(高级语言)
高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。
如:Java; C; C++; Python; C#; PHP; Javascript; Ruby; Matlab;R ; SQL ;Perl;Objective-C;Visual basic;Swift
高级语言编写的程序计算机不能直接识别并运行,需要翻译,一般有两种翻译方式:编辑和解释。
(1)编译
编译器把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快。编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的。
如:C、C++、Fortran、Pascal、Ada都是编译实现的。
(2)解释
解释器在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。
对于解释型Basic语言,需要一个专门的解释器解释执行 Basic程序,每条语言只有在执行才被翻译。这种解释型语言每执行一次就翻译一次,因而效率低下。
Java很特殊,Java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后在Java虚拟机上用解释方式执行字节码。Python 的也采用了类似Java的编译模式,先将Python程序编译成Python字节码,然后由一个专门的Python字节码解释器负责解释执行字节码。所以这两种语言也归类为解释性语言。
领取专属 10元无门槛券
私享最新 技术干货