python基础整理——计算机语言分类

引致博客: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。
相关文章
相关标签/搜索