原文传送门:http://blog.csdn.net/liuchuo/article/details/52014764

计算机编程语言的分类:

  • 机器语言(二进制代码)
  • 汇编语言(面向机器的程序设计语言)
  • 高级语言(按转换方式可分为两类:1.编译型语言;  2.解释型语言     ||按照客观系统的描述可分为两类:1.面向过程语言;  2.面向对象语言    ||按照编程范型可分为:1.命令式语言;  2.函数式语言;  3.逻辑式语言;  4.面向对象语言

三种语言的优缺点:

机器语言:
可读性、可移植性差,编程繁杂。
直接执行,速度快,资源占用少;

汇编语言:
不同的处理器有不同的汇编语言语法和编译器,编译的程序无法在不同的处理器上执行,缺乏可移植性,难于从汇编语言代码上理解程序设计意图,可维护性差,即使是完成简单的工作也需要大量的汇编语言代码,很容易产生bug,难于调试,使用汇编语言必须对某种处理器非常了解,而且只能针对特定的体系结构和处理器进行优化,开发效率很低,周期长且单调。
能够保持机器语言的一致性,直接、简捷,并能像机器指令一样访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。使用汇编语言,可以访问所有能够被访问的软、硬件资源,目标代码简短,占用内存少,执行速度快。

高级语言:
运行速度基本上比直接用汇编写的慢,速度和程序大小与编译软件有关。
高级语言接近算法语言,易学、易掌握,级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;高级语言远离机器语言,与具体的计算机硬件关系不大,可移植性好,重用率高;由于把繁杂琐碎的事务交给了编译程序去做,所以自动化程度高,开发周期短,且程序员得到解脱,可以集中时间和精力去从事对于他们来说更为重要的创造性劳动,以提高程序的质量。

高级语言的分类:

  • 按转换方式可分为两类:1.编译型语言;  2.解释型语言
    1.编译型语言:
    编译性语言写的程序在被执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。
    2.解释型语言: 
    解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。
    现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行。
    关于脚本语言
    脚本语言是一种解释性的语言,脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。脚本语言一般都 有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。一个脚本通常是解释运行而非编译。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作。而宏语言则可视为脚本语言的分支,两者也有实质上的相同之处。脚本语言一般都是以文本形式存在,类似于一种命令。

举例:

解释性语言:Java、JavaScript、Perl、Python、Ruby、MATLAB 等。
编译性语言: C/C++、Pascal/Object Pascal(Delphi)
脚本语言:Python、JavaScript,ASP,PHP,Perl等


  • 按照客观系统的描述可分为两类:1.面向过程语言;  2.面向对象语言

1.面向过程语言:
面向过程语言是以过程或函数为基础的,这种语言对底层硬件,内存等操作比较方便,但是写代码和调试维护等会很麻烦。例如:c语言
2.面向对象语言:
面向对象语言(Object-Oriented Language)是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分。
面向对象语言的发展有两个方向:一种是纯面向对象语言,如Smalltalk、EIFFEL等;另一种是混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如C++、Objective-C等


  • 按照编程范型可分为:1.命令式语言;  2.函数式语言;  3.逻辑式语言;  4.面向对象语言
    1.命令式语言:

    命令式程序设计语言是基于动作的语言,以冯诺依曼计算机体系结构为背景。机器语言及汇编语言是最早的命令式语言。在这种语言中,计算机被看做是动作的序列,程序就是用语言提供的操作命令书写的一个操作序列。用命令式程序设计语言编写程序,就是描述解题过程中每一步的过程,程序的运行过程就是问题的求解过程,因此也称为过程式语言。Fortran、ALGOL、COBOL、C、Ada、Pascal等都是命令式程序设计语言。
    2.函数式语言:
    函数式编程是种编程典范,它将电脑运算视为函数的计算。函数编程语言最重要的基础是 λ 演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。和指令式编程相比,函数式编程强调函数的计算比指令的执行重要。和过程化编程相比,函数式编程里,函数的计算可随时调用。这种语言的语义基础是基于数学函数概念的值映射的λ算子可计算模型。这种语言非常适合于进行人工智能等工作的计算。典型的函数式语言如 Lisp、Haskell、ML、Scheme 、F#等。
    3.逻辑式语言:
    这种语言的语义基础是基于一组已知规则的形式逻辑系统。这种语言主要用在专家系统的实现中。最著名的逻辑式语言是 Prolog。
    4.面向对象语言:
    现代语言中的大多数都提供面向对象的支持,但有些语言是直接建立在面向对象基本模型上的,语言的语法形式的语义就是基本对象操作。主要的纯面向对象语言是 Smalltalk。

计算机编程语言的分类,解释型语言、编译型语言、脚本语言的区别相关推荐

  1. 一文直观理解编译型语言、解释型语言和脚本语言的区别

    祁子禹 作为读者朋友的你很有钱,买下了一个电台,希望实现年少时开设私人电台的梦想. 你还酷爱诗歌文学,常常酾酒临江,横槊赋诗. 希望通过无线电波传到每个角落,让世界人民都能欣赏你的思绪飞扬. 当了电台 ...

  2. 计算机编程语言的分类,解释型语言、编译型语言、脚本语言的关系

    计算机编程语言的分类: 机器语言(二进制代码) 汇编语言(面向机器的程序设计语言) 高级语言(按转换方式可分为两类:1.编译型语言;  2.解释型语言   ||  按照客观系统的描述可分为两类:1.面 ...

  3. 静态语言和脚本语言的区别

    在计算机编程语言中,可以将编程语言分为静态语言和脚本语言两类,这两类编程语言最主要的区别是执行方式的不同.想要区分静态语言和脚本语言的区别,首先需要区分编译和解释. 编译和解释 编译是指将源代码一次性 ...

  4. 计算机编程语言的分类与python语言快速度认识

    本节目标: 明确本课程的性质 聊一聊语言 语言的功能 语言是工具,目标是沟通交流,实现目标 语言的分类 人类语言 汉语,英语,日语,等等 ?思考,如何才能够学好语言,如何才可以学好英文 !答案: 动物 ...

  5. 编程语言和脚本语言的区别

    1.  脚本语言:C Shell.JavaScript.Nuva.Perl.PHP.Python.Ruby.Tcl.VBScript.CSS(常见) 脚本语言是为了缩短传统的编写-编译-链接-运行过程 ...

  6. python是脚本还是编程语言_关于Python是不是脚本语言的探讨

    很多人认为Python是单纯的脚本语言,认为它是一门简单的语言.其实,脚本语言并不是所谓的简单,而是简洁.Python可以使得一些复杂的编程任务变得简单而不是简单的编程语言.所以要是给Python一个 ...

  7. 编译性语言、解释性语言和脚本语言的区别

    计算机是不能理解高级语言,当然也就不能直接执行高级语言了.计算机只能直接理解机器语言,所以任何语言,都必须将其翻译成机器语言,计算机才能运行高级语言编写的程序. 一.翻译和解释的不同 翻译的方式有两种 ...

  8. st计算机编程语言,ST(结构化文本语言(ST))_百度百科

    ST (结构化文本语言(ST)) 语音 编辑 锁定 讨论 上传视频 本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 结构化文本/结构式文件编程语言(英语:Structured ...

  9. 计算机语言分类:机器语言、汇编语言、标记语言、脚本语言、编程语言

    一.计算机语言分类: 1. 机器语言 机器语言是计算机最原始的语言,是由0和1的代码构成,cpu在工作的时候只认识机器语言,即0和1的代码. 2. 汇编语言 汇编语言,即为一种低级语言,它用人类容易记 ...

最新文章

  1. Purism 发布 PureBoot:高度安全、完整的 Linux 引导流程
  2. pythonsocket自定义协议_小渣渣学习笔记 python day28【tcp聊天 udp聊天 粘包 自定义协议 struct模块】...
  3. java虚拟机时区_转:jvm设置时区问题
  4. 华为机试HJ106:字符逆序
  5. 关于appium中的Multiaction的用法
  6. 收集的一些discuz插件常用插件。
  7. 通过YYtext实现文本点击(类似微博效果)
  8. pythonobject转int_python – Pandas:将date’object’转换为int
  9. 百度网盘限速解决方案
  10. MD5简介与代码实现
  11. 透过数据看真相:手游市场趋势报告
  12. win7修复计算机 报错6,Win7系统出现APPCRASH错误怎么解决
  13. Java 恋爱纪念日(日期问题)
  14. 文件批量重命名(Excel+REN)
  15. 脖子酸疼怎么办?初探解决方案
  16. 【NodeJs-5天学习】第四天存储篇④ ——基于MQTT的环境温度检测,升级存储为mysql
  17. IPD的决策评审DCP(1):概念、战略性
  18. hive从入门到实战No.4
  19. ANSYS中Beam188\Beam189单元命令流提取最大应力
  20. C#之三十七 实体类

热门文章

  1. java+mock+例子_java – 如何使用PowerMock和Mockito模拟枚举类的实例?
  2. 深度优先搜索知识总结
  3. Spring_AOP架构介绍与源码分析(含事务深度分析)
  4. fabric零碎知识
  5. Unity 8 和 Snap 将会是 Ubuntu 的未来
  6. IT应聘者的简历应该是怎么样的?
  7. SQL Server 用表中已有数据造数据
  8. Ubuntu 12.04安装英汉词典
  9. 关于jstl在tomcat5和tomcat6的部署
  10. mysql 5.7 my.cnf 为空_mysql 5.7 的 /etc/my.cnf