编译程序将源程序翻译成目标程序后保存在另一个文件中,该 目标程序可脱离编译程序直接在计算机上多次运行。大多数软件产品都是以目标程 序形式发行给用户的,不仅便于直接运行,同时又使他人难于盗用其中的技术C、 C++、Fortran、Visual Foxpro、Pascal、Delphi、Ada都是编译实现的。
解释型语言
解释型语言的实现中,翻译器并不产生目标机器代码,而是产生易于执行的中 间代码,这种中间代码与机器代码是不同的,中间代码的解释是由软件支持的,不 能直接使用硬件,软件解释器通常会导致执行效率较低。用解释型语言编写的程序 是由另一个可以理解中间代码的解释程序执行的。与编译程序不同的是,解释程序 的任务是逐一将源程序的语句解释成可执行的机器指令,不需要将源程序翻译成目 标代码后再执行。释程序的优点是当语句出现语法错误时,可以立即引起程序员注 意,而程序员在程序开发期间就能进行校正。对于解释型Basic语言,需要一个专门 的解释器解释执行 Basic程序,每条语言只有在执行才被翻译。这种解释型语言每 执行一次就翻译一次,因而效率低下。一般地,动态语言都是解释型的,如Tcl、 Perl、Ruby、VBScript、 JavaScript等。
混合型:
Java很特殊,Java程序也需要编译,但是没有直接编译称为机器语言,而是 编译称为字节码,然后在Java虚拟机上用解释方式执行字节码。Python 的也采用了类似Java的编译模式,先将Python程序编译成Python字节码,然后由一个专门的 Python字节码解释器负责解释执行字节码。
五、脚本语言
动态程序一般有两种实现方式,一是二进制方式,一是脚本方式。 二进制方式是先将我们编写的程序进行编译,变成机器可识别的指令代码(如.exe文件),然后再执行。这种编译好的程序我们只能执行、使用,却看不到他的程序内容。
脚本程序相对一般程序开发来说比较接近自然语言,可以不经编译而是解释执行,利于快速开发或一些轻量的控制。一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。 脚本script是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本通常可以由应用程序临时调用并执行。各类脚本目前被广泛地应用于网页设计中,因为脚本不仅可以减小网页的规模和提高网页浏览速度,而且可以丰富网页的表现,如动画、声音等。
脚本简单地说就是一条条的文字命令,这些文字命令是我们可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。 我们上面提到的各种动态语言,如ASP、PHP、CGI、JSP等,都是脚本语言。 按目前的服务规则,虚拟主机网站只能采用脚本语言来实现 脚本英文为Script。实际上脚本就是程序,一般都是有应用程序提供的编程语言。应用程序包括浏览器(javascript、VBScript)、多媒体创作工具,应用程序的宏和创作系统的批处理语言也可以归入脚本之类。脚本同我们平时使用的VB、C语言等的区别主要是:
1、脚本语法比较简单,比较容易掌握;
2、脚本与应用程序密切相关,所以包括相对应用程序自身的功能;
3、脚本一般不具备通用性,所能处理的问题范围有限。
4、.脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间。 HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。
5、脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些.
6、与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。 注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。
7、脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script等等,它不象c/c++等可以编译成二进制代码,以可执行文件的形式存在. 脚本语言不需要编译,可以直接用,由解释器来负责解释。
8、脚本语言一般都是以文本形式存在,类似于一种命令. 举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件. 你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言. 脚本是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。
六、新兴编程语言
perl擅长文字处理,python擅长数值处理 Perl 设 计之初就是为了方便编写复杂高效的系统脚本,它也是应该最为广泛的脚本编程语言。它在编程方面相当于瑞士军刀,对字符、文本文件处理能力很强,以前要求 shell+sed+awk+C才能完成的任务,只需perl脚本就可以完成了。而且应用领域一直在拓宽,支持面向对象程序设计。Python 面向对象的动态公共语言,适于脚本编程和快速开发,它最显著的特点是作为编译语言(如C)和脚本语言(如perl)之间的桥接语言,它具有的强大功能,可扩充性及面向对象的特征使其成为大规模应用程序开发工具。
收起
展开全文

计算机编程语言(机器语言,汇编语言,高级语言)

万次阅读多人点赞2019-07-15 19:46:38
计算机语言:计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。计算机语言通常分为三类:即机器语言,汇编语言和高级语言。 1. 机器语言 机器语言是用二进制...
计算机语言:计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。
计算机语言通常分为三类:即机器语言,汇编语言和高级语言。

1. 机器语言

机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行。
用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。现在,除了计算机生产厂家的专业人员外,绝大多数程序员已经不再去学习机器语言了。
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如,操作码字段和地址码字段,操作码(OperationCode,OP)用来表示该指令所要完成的操作(如加、减、乘、除、数据传送等),其长度取决于指令系统中的指令条数。地址码用来描述该指令的操作对象,它或者直接给出操作数,或者指出操作数的存储器地址或寄存器地址(即寄存器名)。
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。各计算机公司设计生产的计算机,其指令的数量与功能、指令格式、寻址方式、数据格式是差别的。从计算机的发展过程可以看到,由于构成计算机的基本硬件发展迅速,计算机的更新换代很快,这就存在软件如何跟上硬件的问题。一台新机器推出交付使用时,只有少量系统软件(如操作系统等)可提交用户,大量软件是不断充实的,尤其是应用程序,有相当一部分是用户在使用机器时不断产生的。为了缓解新机器的推出致使原有应用程序不能继续使用的问题,各个计算机公司生产的同一系列的计算机时,尽管其硬件实现方法可以不同,但指令系统、数据格式、I/O系统等保持相同,因而软件完全兼容。当研制该系列计算机的新型号时,尽管指令系统可以有较大的扩充,但仍保留了原来的全部指令,使软件向上兼容,即旧机型上的软件不加修改即可在新机器上运行。
说到这里大家明白为什么电脑即计算机,计算机即电脑了吧,原来无论它表现得多么地智能,其实质也不过是这些二进制代码运算的结果。但是二进制代码使用起来太费劲了,于是后来就在其基础上发展出的汇编语言,但是汇编依然看起来不直观,于是最终就出现了现代编程所采用的高级语言。这是计算机编程语言的发展。有了编程语言,按说就可以使这些机器为我所用了。实际还没那么简单。首先每做一件事,都要重复编一大堆的操作程序,工作量很大。其次,现在咱们都看到了,使用计算机的人,大大多数,都不是计算机专业的,甭说编程了,操作步骤复杂一点都要抵制。所以,还需要一个操作系统,将复杂的操作留给自己,把简单的操作,呈现给用户。

2.汇编语言

为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。汇编语言由于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码, 而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行(机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。)必须通过预先放入计算机的“汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。