编程语言分类

编程语言分类

机器语言

005-编程语言分类-二进制代码.jpg?x-oss-process=style/watermark

二进制代码编程则是使用机器语言编程,直接操作硬件。它的优缺点如下:

  • 优点:执行效率高(还能在快吗?有的话,马都累死了…)
  • 缺点:开发的效率低(有本事你把下图的代码翻译翻译)

汇编语言

汇编语言类似于机器语言,但是汇编语言只是把一串二进制数写成一个英文单词。因此你不需要去记住二进制数,而是需要去记住一个一个英文单词,这同样是一个大工程,为什么?继续往下看。虽然汇编语言用英文标签代替二进制指令,本质还是在直接操作硬件。它的优缺点如下:

  • 优点(较机器语言):开发效率高
  • 缺点(较机器语言):执行效率低(和硬件交互还有一个翻译的过程)

005-编程语言分类-汇编语言代码.jpg?x-oss-process=style/watermark

高级语言

高级语言指的是距离机器语言较远,由于高级语言的问世,高级语言直接用人能理解的语言和语法风格编写程序。它的优缺点如下:

  • 优点(较于汇编语言):开发效率高
  • 缺点(较于汇编语言):执行效率低

在高级语言问世的同时,问题也来了,我们用高级语言编写的程序归根结底还是要给计算机执行的,但是计算机只认识二进制指令。这就涉及到一个翻译的过程,我们需要把人用高级语言编写的程序翻译成计算机所能理解的二进制指令才执行,按照翻译方式的不同,高级语言又分为编译型和解释型两大类。

高级语言——编译型

编译型专业解释为:使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式,并且只需要编译一次,以后再也不用编译。其实可以理解成谷歌/百度翻译,我们把要翻译的文字全部放进去,一次翻译,下次使用直接使用上一次翻译好的结果。

  • 优点(较解释型):执行效率高(有解释器省去很多翻译的过程)
  • 缺点(较解释型):开发效率低(写完所有的代码才能检查bug,得多恐怖呀???)

编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行(编译后生成的可执行文件,是cpu可以理解的2进制的机器码组成的),使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .obj,也就是OBJ文件)才能执行,只有目标文件而没有源代码,修改很不方便。编译后程序运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等。

高级语言——解释型

解释型专业解释为:使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行,它不需要事先编译,直接将代码解释称机器码直接运行,也就是说只要某一平台提供了相应的解释器即可运行代码。其实可以理解成同声传译,我们需要翻译的时候,找一个翻译员,对方说一句翻译员翻译一句,下次翻译还是需要一个翻译员一句一句的翻译。

  • 缺点(较编译型):执行效率低(我滴个乖乖,写一次翻译一次)
  • 缺点(较编译型):开发效率高(写一行翻译一行,错了马上就知道,妈妈再也不用担心我找不到bug了)

执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,必须先装上解释器,就像跟老外说话,必须有翻译在场),但这种方式比较灵活,可以动态地调整、修改应用程序。如Python、Java、PHP、Ruby等语言。

原文地址:https://www.cnblogs.com/dadazunzhe/p/11252226.html