世界上有几百种编程语言供我们选择,但是这些编程语言又分为哪些类别呢?
编程语言总体上分为:机器语言;汇编语言;高级语言。
机器语言:二进制语言
汇编语言:将二进制语言中的一些执行指令转换成了英文单词
高级语言:
编译型语言:将代码转换成机器语言后执行
解释型语言:不能脱离解释器运行,边执行边翻译
编译型语言与解释型语言的区别:
编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行(因为提前编译成了机器语言,所以可以脱离语言环境独立执行)使用比较方便、效率高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.obj,也就是OBJ文件)才能执行(写代码过程中会出现很多BUG,每次修改都要生成一次目标文件),只有目标文件而没有源代码,修改也会很不方便。
编译后的程序运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差。常用的语言有C、C++、Delphl等。
解释型语言是指应用程序的源代码一边由相应语言的解释器(如python的cpython、ipython等)“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,必须先装上解释器),但这种方式比较灵活,可以动态地调整、修改应用程序。常用的语言有Python、Java、PHP、Ruby等。
编译型和解释型优缺点:
编译型优点:1、程序执行时,不再需要源代码,不依赖语言环境;2、执行速度快。
编译型缺点:1、每次修改了源代码,需要重新编译;2、跨平台性不好,不同操作系统调用底层的机器指令不同,需为不同平台生成不同机器码文件。
解释型优点:1、天生跨平台,解释器会做好对不同平台的interactive;2、随时修改,直接运行看效果。
解释型缺点:1、运行效率低,要边翻译边执行;2、代码是明文。
first draft / second draft