编程语言介绍

语言的进化史

机器语言

  因为计算机内部只能接受二进制代码,所以,用二进制代码0和1描述的指令称为机器指令,所有机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。机器语言属于低级语言。编程

汇编语言

  汇编语言的实质和机器语言是相同的,都是直接对硬件操做,只不过指令采用了英文缩写的标识符,更容易识别和记忆。汇编源程序通常比较冗长、复杂、容易出错,但汇编语言的优势是源程序经汇编生成的可执行文件不只比较小,并且执行速度很快。
  目前硬件厂商的专业人员使用的仍是汇编语言。编程语言

高级语言

  高级语言是大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,而且去掉了与具体操做有关但与完成工做无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,因为省略了不少细节,编程者也就不须要有太多的专业知识。
  高级语言主要是相对于汇编语言而言,它并非特指某一种具体的语言,而是包括了不少编程语言,像最简单的编程语言PASCAL语言也属于高级语言。
  高级语言所编制的程序不能直接被计算机识别,必须通过转换才能被执行。不一样高级语言之间最本质的区别是:转化成二进制的方式不一致。操作系统

  按照转化方式,能够将高级语言分为:翻译

编译类

  在应用源程序执行以前,就将程序源代码“翻译”成目标代码(机器语言),所以其目标程序能够脱离其语言环境独立执行(编译后生成的可执行文件,是cpu能够理解的2进制的机器码组成的),使用比较方便、效率较高。但应用程序一旦须要修改,必须先修改源代码,再从新编译生成新的目标文件(* .obj,也就是OBJ文件)才能执行,只有目标文件而没有源代码,修改很不方便。
  编译后程序运行时不须要从新翻译,直接使用编译的结果就好了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等
  跨平台的概念:在两个不一样的操做系统上想要实现相同的功能时,调用接口的指令是不一样的,调试

解释类

  执行方式相似于咱们平常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,所以运行效率比较低,并且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,必须先装上解释器,就像跟老外说话,必须有翻译在场),但这种方式比较灵活,能够动态地调整、修改应用程序。如Python、Java、PHP、Ruby等语言。
  解释型语言最大的好处就是跨平台(在安装解释器的前提下)。第二个好处就是发现程序的错误后,能够当即修改。提升调试Bug的效率。
  虽然解释类语言的执行效率低,可是那是针对计算机而言的。人类的最快反应速度在01s左右,是感知不到解释类和编译类语言的差别的接口

解释型和编译型语言的优缺点

编译型

1、执行过程编译器

  • 把源代码编译成机器语言的可执行程序;
  • 执行可执行程序文件;
    二、优势
  • 程序执行时,再也不须要源代码,不依赖语言环境,由于执行的是机器码文件;
  • 执行速度快,由于源代码已经编译成计算机能够直接理解的机器语言。
    三、缺点
  • 每次修改了源代码,须要从新编译,生成机器文件;
  • 跨平台型很差,不一样操做系统,调用底层的机器指令不一样,由于不一样平台生成不一样的机器码文件。编译

    解释型

    一、执行过程
  • 用户调用解释器,执行源代码文件;
  • 解释器把源代码文件边编译成机器指令,边交给CPU执行。
    二、优势
  • 天生跨平台,由于解释器已经作好了不一样平台的交互处理,用户写的源代码不须要再考虑平台差别性,可谓:一份源代码,全部平台均可直接执行;
  • 随时修改,马上见效,改完源代码,直接运行看效果。
    三、缺点
  • 运行效率低,全部的代码均需通过解释器边解释边执行,速度比编译型慢不少;
  • 代码是明文。效率

相关文章
相关标签/搜索