热门文章> 编程语言的分类 >

编程语言的分类

36氪企服点评小编
2022-04-06 18:25
5924次阅读

| 企服解答

编程语言的分类有机器语言、汇编语言、高级语言三大类。

编程语言的分类编程语言的分类

1、机器语言

二进制代码。

2、汇编语言

面向机器的程序设计语言。

3、高级语言

(1)按转换方式可分为两类:编译型语言和解释型语言。

编译型语言:编译性语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。例如: C/C++、Pascal/Object Pascal(Delphi)。

解释型语言:解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行。例如:Java、JavaScript、Perl、Python、Ruby、MATLAB 等。

脚本语言:脚本语言是一种解释性的语言,脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。脚本语言一般都 有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。一个脚本通常是解释运行而非编译。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作。而宏语言则可视为脚本语言的分支,两者也有实质上的相同之处。脚本语言一般都是以文本形式存在,类似于一种命令。例如:Python、JavaScript,ASP,PHP,Perl等。

(2)按照客观系统的描述可分为两类:面向过程语言和面向对象语言。

面向过程语言:是以过程或函数为基础的,这种语言对底层硬件,内存等操作比较方便,但是写代码和调试维护等会很麻烦。例如:c语言。

面向对象语言:是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分。面向对象语言的发展有两个方向:一种是纯面向对象语言,如Smalltalk、EIFFEL等;另一种是混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如C++、Objective-C等。

(3)按照编程范型可分为四类:命令式语言、函数式语言、逻辑式语言和面向对象语言。

命令式语言:命令式程序设计语言是基于动作的语言,以冯诺依曼计算机体系结构为背景。机器语言及汇编语言是最早的命令式语言。在这种语言中,计算机被看做是动作的序列,程序就是用语言提供的操作命令书写的一个操作序列。用命令式程序设计语言编写程序,就是描述解题过程中每一步的过程,程序的运行过程就是问题的求解过程,因此也称为过程式语言。Fortran、ALGOL、COBOL、C、Ada、Pascal等都是命令式程序设计语言。

函数式语言:函数式编程是种编程典范,它将电脑运算视为函数的计算。函数编程语言最重要的基础是 λ 演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。和过程化编程相比,函数式编程里,函数的计算可随时调用。这种语言的语义基础是基于数学函数概念的值映射的λ算子可计算模型。这种语言非常适合于进行人工智能等工作的计算。典型的函数式语言如 Lisp、Haskell、ML、Scheme 、F#等。

逻辑式语言:这种语言的语义基础是基于一组已知规则的形式逻辑系统。这种语言主要用在专家系统的实现中。最著名的逻辑式语言是 Prolog。

面向对象语言:现代语言中的大多数都提供面向对象的支持,但有些语言是直接建立在面向对象基本模型上的,语言的语法形式的语义就是基本对象操作。主要的纯面向对象语言是 Smalltalk。

| 拓展阅读

计算机语言:

通常,我们使用英语,印地语等语言来进行两个人之间的交流。这意味着当我们想要在两个人之间进行交流时,我们需要一种语言来表达他们的感受。同样,当我们想要在用户和计算机之间或两台或多台计算机之间进行通信时,我们需要一种语言,用户可以通过该语言向计算机提供信息,反之亦然。当用户想要向计算机发出任何指令时,用户需要特定的语言,并且该语言被称为计算机语言。

用户使用程序与计算机交互,程序使用C,C ++,Java等计算机编程语言创建,

计算机语言是用户通过编写程序指令与计算机通信的语言。

每种计算机编程语言都包含一组预定义的单词和一组用于创建程序指令的规则(语法)。

[免责声明]

文章标题: 编程语言的分类

文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。

消息通知
咨询入驻
商务合作