个性化阅读
专注于IT技术分析

程序设计语言的分类

本文概述

编程语言定义了一组指令,这些指令被编译在一起以执行CPU(中央处理单元)的特定任务。编程语言主要是指高级语言,例如C,C,Pascal,Ada,COBOL等。

每种编程语言都包含一组独特的关键字和语法,用于创建一组指令。到目前为止,已经开发了成千上万种编程语言,但是每种语言都有其特定的用途。这些语言从硬件提供的抽象级别有所不同。一些编程语言提供的抽象较少或没有,而另一些提供更高的抽象。根据抽象级别,可以将它们分为两类:

  • 低级语言
  • 高级语言

下面给出的图像描述了硬件的抽象级别。从下图中可以看出,机器语言不提供抽象,汇编语言提供的抽象较少,而高级语言提供的抽象较高。

低级语言

低级语言是一种编程语言,不提供对硬件的任何抽象,它以0或1形式表示,它们是机器指令。此类别下的语言是机器级别的语言和汇编语言。

机器语言

机器级语言是由一组以二进制形式0或1组成的指令组成的语言。众所周知,计算机只能理解二进制数(即0和1)的机器指令。给计算机的指令只能是二进制代码。用机器级语言创建程序是一项非常艰巨的任务,因为程序员用机器指令编写程序并不容易。由于不易理解,而且容易维护,因此容易出错。机器级语言不能移植,因为每台计算机都有其机器指令,因此,如果我们在一台计算机上编写程序,则在另一台计算机上将不再有效。

不同的处理器体系结构使用不同的机器代码,例如,PowerPC处理器包含RISC体系结构,与具有CISC体系结构的intel x86处理器相比,它需要不同的代码。

汇编语言

汇编语言包含一些人类可读的命令,例如mov,add,sub等。通过使用扩展形式的称为汇编语言的机器级语言,在某种程度上减少了我们在机器级语言中面临的问题。由于汇编语言指令以英文单词mov,add,sub等形式编写,因此更容易编写和理解。

我们知道计算机只能理解机器级别的指令,因此我们需要一个将汇编代码转换为机器代码的转换器。用于翻译代码的翻译器称为汇编器。

汇编语言代码不可移植,因为数据存储在计算机寄存器中,并且计算机必须知道不同的寄存器集。

汇编代码并不比机器代码快,因为汇编语言在层次结构中位于机器语言之上,因此这意味着汇编语言具有相对于硬件的某种抽象,而机器语言具有零抽象。

机器级语言和汇编语言之间的差异

以下是机器级语言和汇编语言之间的区别:

机器语言汇编语言
The machine-level language comes at the lowest level in the hierarchy, so it has zero abstraction level from the hardware.汇编语言高于机器语言, 这意味着它与硬件的抽象度较低。
It cannot be easily understood by humans.它易于读取, 编写和维护。
The machine-level language is written in binary digits, i.e., 0 and 1.汇编语言是用简单的英语编写的, 因此用户很容易理解。
It does not require any translator as the machine code is directly executed by the computer.在汇编语言中, 汇编器用于将汇编代码转换为机器代码。
It is a first-generation programming language.它是第二代编程语言。

高级语言

高级语言是一种编程语言,允许程序员编写独立于特定计算机类型的程序。高级语言被认为是高级语言,因为它们比机器语言更接近人类语言。

用高级语言编写程序时,需要全神贯注于问题的逻辑。

需要编译器才能将高级语言翻译成低级语言。

高级语言的优势

  • 高级语言易于阅读,编写和维护,因为它以英语(如单词)书写。
  • 设计高级语言是为了克服低级语言的局限性,即可移植性。高级语言是可移植的;即,这些语言与机器无关。

低级语言和高级语言之间的差异

以下是低级语言和高级语言之间的区别:

低级语言高级语言
It is a machine-friendly language, i.e., the computer understands the machine language, which is represented in 0 or 1.这是一种用户友好的语言, 因为该语言以简单的英语单词书写, 因此人们很容易理解。
The low-level language takes more time to execute.它以更快的速度执行。
It requires the assembler to convert the assembly code into machine code.它要求编译器将高级语言指令转换为机器代码。
The machine code cannot run on all machines, so it is not a portable language.高级代码可以在所有平台上运行, 因此它是一种可移植的语言。
It is memory efficient.它的内存效率较低。
Debugging and maintenance are not easier in a low-level language.使用高级语言可以使调试和维护更加容易。

赞(0)
未经允许不得转载:srcmini » 程序设计语言的分类

评论 抢沙发

评论前必须登录!