通用编辑系统程序设计语言是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
发展(1)第一代语言。是与机器硬件密切相关的机器语言和汇编语言。从电子计算机出现时开始使用,因其与硬件操作相对应.所以其语言种类几乎与计算机种类相同。
(2)第二代语言。主要应用于各种计算,先后出现于20世纪50年代末至20世纪60年代初,包括FORTRAN、COBOL、Pascal和BASIC等。这些语言不仅容易被人们学习和使用,具有大量成熟的程序库.所以应用较为广泛,事实上成为现代或第三代程序设计语言的基础和前身。
(3)第三代语言。第三代语言直接支持结构化构件,并且具有很强的过程能力和数据结构能力,包括结构化语言和面向对象语言,如结构化程序语言有C等,面向对象的语言有C++、Java、Delphi等。它大致分为通用高级语言、面向对象的语言和专用语言。
(4)第四代语言。第四代语言属于超高级程序设计语言,虽然它与其他语言一样用其语法形式表示控制和数据结构,但不再涉及很多算法性细节。它具有如下特征:强大的数据管理能力,可对数据库进行有效的存取、查询和其他相关操作;提供一组高效的、非过程化的命令,组成语言的基本语句;可以满足多功能、一体化的要求。目前,使用最广泛的第四代语言是数据库查询语言SQL,它支持用户以复杂的方式操作数据库。另外,一些决策支持语言、原型语言、形式化规格说明语言,甚至计算机环境中的一些工具也被认为属于第四代语言的范畴。1
分类机器语言机器语言即指令的二进制编码,是一种能被计算机直接识别和执行的语言。由于机器语言与CPU紧密相关,所以,不同种类的CPU对应的机器语言也不同。用机器语言编写的程序不通用、不易读、易出错、难以维护,所以几乎不用机器语言编写程序。
汇编语言为了克服机器语言的不足,人们选用了一些能反映机器指令功能的英文字符来表示机器指令。这些英文字符被称为助记符,用助记符表示的指令称为符号语言或汇编语言,用汇编语言编写的程序称为汇编语言程序。微控制器不能直接识别和执行汇编语言程序,需要将其转换成机器语言,这个转换过程称为“汇编”,完成汇编的专用程序称为“汇编程序”。
汇编语言是计算机能提供给用户的最快而又最有效的语言。也是能利用计算机所有硬件特性并能直接控制硬件的唯一语言。汇编语言程序效率高、占用存储空问小、运行速度快,用汇编语言能编写出最优化的程序,但缺点是可读性差、移植性差,且与机器语言一样,都脱离不开具体机器的硬件。因此,机器语言和汇编语言均是面向“机器”的语言,缺乏通用性。
汇编语言编写的源程序称为汇编语言程序,在交付计算机执行之前也需要翻译成目标代码程序,这个翻译过程称为汇编。
完成汇编任务的程序称为汇编程序(Assembler)。汇编程序是计算机系统软件之一,它提供组成汇编语言程序的语言规则,所以在使用汇编语言编程之前应首先熟悉相应的汇编程序。支持Intel 80x86系统的汇编程序有很多,例如:
ASM:仅有基本汇编语言的小汇编程序,它不能支持高级宏汇编语言功能,但占内存少,只需64KB内存支持。
MASM:美国微软公司开发的宏汇编程序。它不仅含有ASM功能,还增加了宏指令结构、记录等高级宏汇编语言功能,但需内存较多。MASM宏汇编程序不断升级,例如,MASM5.0可支持8086/8088到80386处理器指令,而MASM6.1 1可支持到Pentium CPU的指令集,在MASM6.11基础上,只要增加一个补硼I程序,即可升级到能支持Pentium Pro指令集的MASM6.12、能支持MMX指令集的MASM 6.13、可以支持SSE、SSE2和SSE3指令集的MASM 6.14和MASM 6.15等。满足宏汇编语法要求的汇编语言程序称为宏汇编语言程序。
TASM:性能上同MASM,称为快速汇编程序,其汇编速度快,支持宏汇编语言功能更强。其相应的调试程序TD有较好的操作界面。
高级语言高级语言是面向过程和问题的程序设计语言,且是独立于计算机硬件结构的通用程序设计语言,如C、BASIC、F()RTRAN、PASCAI。语言等。目前,在微控制器应用系统中使用最广泛的是C语言。计算机不能直接识别和执行高级语言,同样需要将其转换成机器语言。对于高级语言。这一转换工作通常称为“编译”,完成编译的专用程序称为“编译程序”。和汇编语言相比.高级语言不仅直观、易学、易懂.而且通用性强,易于移植到不同类型的计算机中。高级语言的语句功能强,其一条语句往往相当于许多条汇编指令,因此占用的存储空间多、执行时间长,且不易精确计算程序空间和执行时间,故一般不适用于高速实时控制的程序设计。
在微控制器应用程序设计中,汇编语言程序是基础。在代码效率要求不高、实时性要求不高的场合,高级语言程序设计是较好的选择。在很多情况下,也可采用高级语言与汇编语言的混合设计。2
通用语言(1)C语言。既具有高级语言的特征,又具有低级语言的功能,被广泛应用于系统软件、嵌入式应用软件。
(2)C++语言。在C语言基础上发展起来的一种面向对象编程,C++提供了类、多态、异常处理、模板、标准类库等。C++既融合了面向对象的能力,又与C语言兼容,保留了C语言的许多重要特性。维护了大量已开发的C库、C工具以及C源程序的完整性。
(3)Objective—C语言。它是在C语言的基础上。加入面向对象特性扩充而成的通用型高级编程语言。主要应用于Mac OS X和iOS系统及其相关API(如Cocoa、Cocoa Touch)的开发,目前主要支持的编译器有GCC与Clang。
(4)Java语言。作为一种面向对象编程,其语法结构与C++类似。Java在虚拟机上运行,通过为不同的平台提供虚拟机,实现了Java跨平台的特性。Java被广泛应用于服务器端程序和移动设备程序中。
(5)C#语言。C#语言是一种完全面向对象的语言,是主要应用在.NET平台上的编程浯言。
(6)PHP语言。PHP为Personal Home Page的缩写,最初只是一套简单的Perl脚本,用于跟踪访问主页的用户的信息。目前PHP提供了大量用于构建动态网站的功能,成为Web服务器端的程序主流编程语言。
(7)Python。一种交互式的、面向对象、跨平台的解释语言。
(8)VB与VB.NET语言。VB是一种面向对象、可视化的编程语言。用于开发Windows桌面应用程序和Web应用程序。Visual Basic.NET是下一代的Visual Basic,它基于VB并被重新没计以便使更加容易开发基于网络的分布式应用。
(9)JavaScript是一种解释性的脚本语言,功能强大,主要用于实现Web页面客户端功能。1
本词条内容贡献者为:
王慧维 - 副研究员 - 西南大学