学习编程,相信大家都有了解过什么是 面向过程 以及什么是 面向对象,但今天要跟大家聊一聊的是 ,什么是解释型 和 编译型 ,以上几个名词之所以都没有加 语言 二字 ,是因为啊,其实语言本身没有什么类型之分,就像我们各地的方言,亦或是说国语和英语一样,只是说,由于传统的影响,以及一些适用场合的差异,导致语言有以上不同的分类描述。
首先我们先讲一下什么是编译,编译就是在原有源代码的基础上,利用编译器,将源代码编译成目标代码 .obj 然后利用 链接器 将启动代码(因操作系统而异)和 库函数 以及 .obj 链接 形成可执行文件。
而解释的执行过程则相对简单,它不需要用到编译器以及链接器,只需要一个解释器即可,当需要执行程序的时候,利用解释器,一条一条的解释语句,然后一条一条的交给cpu执行就好。
从上面可以看出,语言如果编译执行的话,cpu直接利用最后生成的可执行文件,速度会更快一些,但是其可移植性会变差; 而语言如果解释执行的话,速度变慢,但可移植性变强,因为它只需要一个对应的解释器就好。
还是如开头所说,语言本身没有分类,只是使用场合以及传统的影响,常用来编译的语言,当然也可以用一个适用于它的解释器将其解释执行,反之亦反…
编译的语言主要代表是 C语言 解释的语言主要代表是 Python。