版权归原作者所有,如有侵权,请联系我们

[科普中国]-计算机编程语言

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

计算机语言包括机器语言、汇编语言、高级语言。机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合,它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。高级语言比较容易识记和理解,像C语言等。

语言分类机器语言用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码。直观性差,还容易出错。除了计算机生产厂家的专业人员外,绝大多数程序员已经不再去学习机器语言了。

汇编语言为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。汇编语言由于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码。而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的 “汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。

汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。

高级语言不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。

如今被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。这些语言都是属于系统软件。

计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。编译方式是:事先编好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是:源程序进入计算机时,解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。PASCAL、 FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植。

常用语言C语言在当前常用的编程语言中,C语言是使用时间最长的一种语言类型,也是使用较为广泛的一种通用语言。在编程研究中我们发现,C语言之所以在软件开发行业中具有强大生命力,主要是因其具有以下的三个特点。

(1)良好的使用性能。在软件编程中,C语言具有良好的使用功能,如语言简短、通用性强等,因此适用于这类计算机系统使用。

(2)计算机编程的基础语言。作为一种使用时间最长的编程语言,C语言在编程中较之其他高级语言与计算机系统更加接近,因此其也成为了软件编程的基础。在其他语言编程遇到困难的情况下,利用C语言编程可以解决问题,实现良好的编程过程。

(3)具有一定的专业性优势。当前C语言在部分专用计算机领域,如工业单片机控制程序的编制中,具有一定的专业优势。这种技术优势的存在,对于C语言发展起到了重要的促进作用。

C++语言C++语言是在视窗软件系统发展的情况下,基于C语言出现的一种视窗软件编程语言,其优势在于以下几点:

(1)继承C语言技术优势,由于C++语言是在C语言基础上出现的编程语言,因此其继承了C语言编程中的优势,同时可以与C语言编程的其他软件进行衔接。

(2)适用于窗口软件编程。在编程过程中,c++语言避免了C语言编程窗口软件系统工作量大的缺陷,提高了软件编程效率与质量,进而为窗口软件编制发展提供了支持。

Java语言随着网络系统的不断发展,C、C++等语言编程都遇到了一定问题。在这一情况下,Java语言因其对网络环境的适应性,进而成为了网络软件编程的主要语言,其优势包括了以下几点。

(1)性能更加优秀。这一语言在较之C++语言更加简单,同时具有完全面向服务对象特征,进而其内容中的多态性、继承性以及封装性特征更加明显。

(2)更适合网络环境。java语言在使用中属于分布式语言,因此其更加符合具有分布性特征的网络软件开发应用。同时为了应对网络安全性问题,Java语言的安全性也高于其他语言,更加适合网络开发应用。

(3)与控制系统的配合。在软件开发中,Java语言与当前常用的常用的控制系统(如Windows、Linux)进行配合,提高了软件开发应用质量。

数据库开发语言在当前计算机系统应用中,数据库系统占据着较为重要位置。而在当前的数据库开发中,其常用的编程语言包括了SQL、Visual Basic与Access等语言类型。其中SQL语言是当前最主流的数据库语言,而VisualBasic语言是在内置SQL语言的基础上,设计的一种数据库开发编程语言,具有操作简单、符合数据库开发特点等优势。而在数据库开发中,Access语言是专业针对小型数据库而使用的编程语言。在使用中其开发功能较强,使用中与SQL语言类似,并与Visual Basic有着较为紧密的关系,因此其使用具有较大空间。

其他编程语言在实际的开发编程中,除了以上的几种语言外,Python、Ruby、Java Script、MATLAB、R、CUDA、Erlang等语言也在编程中得到了一定应用。虽然这些语言应用范围较小,但是都有着一定的技术特征,因而在部分特殊软件编程,以及组合应用中得到了应用。1

语言选取选取原则计算机软件开发的过程中,程序员要对多种因素进行综合考虑。具体包括以下方面:

(1)软件将要安装的硬件环境。

(2)软件的平台支持性。

(3)开发设计成本和效率。

(4)选择相对熟练的计算机编程语言。

(5)客户对软件的使用要求。

选取方法1、分析编程程序要求和平台支持性

我们知道,在选取与运用编程语言的过程中,要保证编写的程序可以满足实际使用的需求,并且要在第一时间按照实际应用状况来调整。进行软件开发的时候,采用熟悉的编程语言,一则可以减少软件开发的时间;二则可以提高软件编程的效率。即便使用的编程语言不一样,可是也可以迅速进行调整。所以,对于软件开发来说,迅速还原环境是非常重要的,可以让有关性与动态型语言紧密结合。其次,软件开发以后,需要运用于平台中,因而需要得到平台的支持。例如,运用在浏览器的程序语言,在运行的过程中需结合语言的适应性挑选编程语言。一切操作在平台中均需要和其相适应。根据编程语言特征与优点挑选合适的平台,平台支持性乃编程语言选取的必要依据。

2、思考编程语言成本,考察应用环境

首先,在选择计算机软件开发编程语言的过程中,一个非常重要的选取依据就是项目功能,整体化系统的构成涵盖了多个部分,可是整个系统不会只使用一种语言来编程,其编写必须要使用到各种语言。操作成本很高,例如视频与信号处理、密码学等等,计算机软年间开发人员应当全面思考,在编写程序的时候,选取静态型语言最佳,例如Java语言。其次,软件开发的前提与基础就是硬件环境,选择一切编程语言均要充分适应硬件环境,所以,选取编程语言应当思考到外部的硬件环境。选择语言对于编程而言极为重要,一则要挑选语言分布;二则要统筹工程总体框架。不一样的编程语言联系性强,如若要学好一门编程语言,局必须要了解诸多语言。在进行软件开发的时候,必须要灵活使用编程,选择编程语言需要与环境相适应,如此才能确保编写的程序可以迅速调整与有效运用。

3、挑选熟悉的编程语言,思考会否出现频繁的修改现象

敢于尝试新的编程语言虽是一种创新对策,可是对于不是研究类型的项目而言,计算机软件开发工作人员依旧会先从熟悉编程语言方面着手,出现这一现象的根本原因在于挑选使用熟悉的编程语言可以让计算机应用软件在开发的阶段辅助开发工作人员预估出总体项目时间表,防止在进行开发的时候产生别的变数。再者,在大量的编程语言之中,一个优质的编程语言可以使程序迅速进行调整和重新建立。如果软件开发工作人员要重复的修改程序内容的时候,选取一项可以迅速还原的编程语言是非常重要的,按照这些情况,软件开发工作人员需要选取动态语言,因这种语言可以结合多种类型不相同的库,让动态语言运用范围变大,优势增加。并且,动态语言的一大特点就是,其检查工作是于软件运行状态中才会进行数据类检查,并不会在编译时检查。2

发展方向1、为使用者的操作提供便捷,基于当前计算机程序的设计过程中,其核心主线仍是由面向对象程序设计以及数据抽象两者所占据,而为了有效提升计算机编程语言的操作便捷性,必须保证编程语言的简单易学,不具备较高的专业性,编程语言要向为更多使用者提供便捷性的方向发展。要求只要具备一定的基础概念、基本使用方式的能力,使用者就可对较为简单的工作流程进行编写工作,有效提升操作的便捷性。

2、编程语言还会逐渐向面向对象的方向发展,提供简单的类机制以及动态的接口模型。对象中封装状态变量以及相应的方法,实现了模块化和信息隐藏。提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用;因为计算机网络具有开放性的特点,所以编程语言应该充分考虑安全性,为程序的编写提供一个安全的环境。所以应该创建安全保护机制,根据程序编写的特点,制定适应的安全体系,构建安全和谐的编写环境;平台无关性就是为了使编写的程序能够在不同机器、不同平台上进行移植,不受到平台的限制,所以编写语言应该向平台无关性方向发展,这样编写的程序在应用上就能够更加方便,应用范围更加广泛。3

本词条内容贡献者为:

刘宝成 - 副教授 - 内蒙古民族大学