解释型语言和编译型语言的区别
经常,在学习计算机语言的过程中,大家都会聊到一个问题,c语言、java、python等等他们的运行速率快慢,从而凸显出这个语言又多厉害。而这个执行速度其实和我们“解释性语言“及“v”相关联的。
解释型语言:编写好程序以后,可以直接在解释器上运行的,我们知道程序是人们定义的一些列高级语法,这个直接交给操作系统肯定是不认识的。所以需要解释器把程序段转化成机器码,在由操作系统执行。这里我们就发现了解释性语言的一大特点:就是:程序是边运行边进行机器码转化(转化完后cpu执)。
编译型语言:编写好程序以后,首先需要编译器进行编译,统一转化成机器码,然后这个编译完的文件,可以放在操作系统直接执行。
【这就好像我们吃一袋瓜子,解释性语言是剥一颗吃一颗,直到吃完;而编译性语言是先把一袋瓜子全部剥完,剥出肉,然后一口吃进去。你说这两种模式对于最后吃的人来说,哪种会比较快,结果不言而知吧!】
这里的一袋瓜子其实就是一段程序,吃瓜子的人就是操作系统。
python是解释型还是编译型语言?
python是解释型语言,编写好的python代码段,由python解释器进行执行!
们从Python官方网站下载并安装好Python 3.x后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python
就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
C/C++是解释型还是编译型语言?
C/C++需要通过编译器,把源代码编译成中间文件(.o和.obj),然后通过连接器和汇编器生成机器码,即一系列基本操作序列,可以直接让计算机执行。
所以C和C++是编译型语言!
Java是解释型还是编译型语言?
有人说Java是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就无法执行。 也有人说Java是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型的。对于C和C++,它们经过一次编译之后,可以由操作系统直接执行,所以它们是编译型语言。而Java不一样,它首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读一行解释执行一行,所以它是解释型的语言。也正是由于java对于多种不同的操作系统有不同的JVM,所以实现了真正意义上的跨平台。
(1)Java语言的编译-->解释-->运行过程
(2)JVM到这里,大家应该也都明白了。
有兴趣的同学请关注我们,python三人组