本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。 简介 计算机编程语言是指用于人与计算机之间通信的语言,是人与计算机之间传递信息的媒因为它是用来进行程序设计的,所以又称程序设计语言或者编程语言。 [2] 计算机语言是一种特殊的语言。因为它是用于人与计算机之间传递信息的,所以人算机都能“读懂”。具体地说,一方面,人们要使用计算机语言指挥计算机完成某种特作,就必须对这种工作进行特殊描述,所以它能够被人们读懂。另一方面,计算机必须按计算机语言描述来行动,从而完成其描述的特定工作,所以能够被计算机“读懂”。 [2] 发展历程 正如从甲骨文到现代汉字的演变过程是伴随着巨大的变化一样,计算机语言在诞生的短短几十年里,也经过了一个从低级到高的演变过程。具体地说,它经历了机器语言、汇编语言、高级语言3个阶段。 [2] 机器语言 机器语言是用二进制代码表示的、计算机能直接识别和执行的一种机器指令的集合,它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言是第一代计算机语言。 [3] 计算机使用的是由“0”和“1”组成的二进制数,在计算机诞生之初,人们只能用计算机的语言对计算机发出指令,即写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种计算机认识的语言,就是机器语言。用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的含义。编写程序时,程序员得自己处理每条指令以及每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态,这是一件十分繁琐的工作。而且,编出的程序全是二进制的指令代码,直观性差又容易出错,并且修改起来也比较困难。此外,不同型号的计算机的机器语言是不相通的,按一种计算机的机器指令编制的程序,不能在另一种计算机上执行,所以,在一台计算机上执行的程序,要想在另台计算机上执行,必须另编程序,造成重复工作。但由于机器语言计算机可以直接识别而不需要进行任何翻译,其运算效率是所有语言中最高的。 [3] 汇编语言 为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。汇编语言由于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码。而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。 [4] 汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的 “汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。 [4] 汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。 [4] 高级语言 不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。 [4] 如今被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。这些语言都是属于系统软件。 [4] 计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。编译方式是:事先编好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是:源程序进入计算机时,解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。PASCAL、 FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植。 [4] 常用语言 C语言 在当前常用的编程语言中,C语言是使用时间最长的一种语言类型,也是使用较为广泛的一种通用语言。在编程研究中我们发现,C语言之所以在软件开发行业中具有强大生命力,主要是因其具有以下的三个特点。 [5] (1)良好的使用性能。在软件编程中,C语言具有良好的使用功能,如语言简短、通用性强等,因此适用于这类计算机系统使用。 [5] (2)计算机编程的基础语言。作为一种使用时间最长的编程语言,C语言在编程中较之其他高级语言与计算机系统更加接近,因此其也成为了软件编程的基础。在其他语言编程遇到困难的情况下,利用C语言编程可以解决问题,实现良好的编程过程。 [5] (3)具有一定的专业性优势。当前C语言在部分专用计算机领域,如工业单片机控制程序的编制中,具有一定的专业优势。这种技术优势的存在,对于C语言发展起到了重要的促进作用。 [5] C++语言 C++语言是在视窗软件系统发展的情况下,基于C语言出现的一种视窗软件编程语言,其优势在于以下几点:(1)继承C语言技术优势,由于C++语言是在C语言基础上出现的编程语言,因此其继承了C语言编程中的优势,同时可以与C语言编程的其他软件进行衔接。 [5] (2)适用于窗口软件编程。在编程过程中,c++语言避免了C语言编程窗口软件系统工作量大的缺陷,提高了软件编程效率与质量,进而为窗口软件编制发展提供了支持。 [5] Java语言 随着网络系统的不断发展,C、C++等语言编程都遇到了一定问题。在这一情况下,Java语言因其对网络环境的适应性,进而成为了网络软件编程的主要语言,其优势包括了以下几点。 [5] (1)性能更加优秀。这一语言在较之C++语言更加简单,同时具有完全面向服务对象特征,进而其内容中的多态性、继承性以及封装性特征更加明显。 [5] (2)更适合网络环境。java语言在使用中属于分布式语言,因此其更加符合具有分布性特征的网络软件开发应用。同时为了应对网络安全性问题,Java语言的安全性也高于其他语言,更加适合网络开发应用。 [5] (3)与控制系统的配合。在软件开发中,Java语言与当前常用的常用的控制系统(如Windows、Linux)进行配合,提高了软件开发应用质量。 [5] Python语言 Python语言是一种面向对象的、解释型的、动态数据类型的高级程序设计语言,具有简洁的语法规则,使得学习程序设计更容易,同时具有强大的功能,能满足大多数应用领域的开发需求。 [6] 具体来说, Python语言具有如下特点: [6] 1)简单Python是一种代表简单主义思想的语言。阅读一个良好的 Python程序就感觉像是在读英语一样。 Python的这种简单,使用户能够专注于解决问题而不是去搞明白语言本身。 [6] 2)免费、开源Python是 FLOSS(自由/放源码软件)之一。简单地说,用户可以自由地发布这个软件的副本,阅读它的源代码以及修改以及把它的一部分用于新的自由软件中。 [6] 3)高层语言用户在使用 Python语言编写程序的时候,无须考虑如何管理程序所使用内存一类的底层细节。 [6] 4)可移植性由于它的开源本质, Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。 [6] 5)解释性个用编译性语言(如C或C++)编写的程序可以从源文件(即C或C++语言)转换到计算机使用的语言——二进制代码,即0和1。这个过程通过编译器和不同的标记、选项完成。运行程序的时候,连接/转载器软件把程序从硬盘复制到内存中并执行。