什么是编译型语言?什么又是解释型语言?

0.简陋的思维导图

在这里插入图片描述

1.程序运行的过程(先翻译再执行)

在此之前,我们得清楚一个程序的运行包括两个方面
a)翻译:翻译的目的是生成另外一套能被计算机直接执行的代码
b)执行:执行的意思就是计算机执行这个生成的目标代码

2.重点看看翻译

翻译包含两种:
第一种,A代码变成B代码,B代码可以被计算机执行,这个过程一步到位就是编译
第二种,A代码变成B代码,但是B代码不能直接被计算机识别,是个半成品,需要在进行翻译成可以被计算机直接执行的目标代码
编译后执行就是

3.java语言是编译型语言?还是解释型?

java这个语言很非凡,你可以说他是翻译型语言,也可以说不是
首先我们来看看java程序的运行过程
首先是java源程序翻译成字节码文件,再字节码文件翻译成目标文件。其实第一步,其实是一个编译的过程,第二步,是一个解释的过程。说他是解释型语言是因为他确实不能编译完,直接执行,需要jvm解释才能执行,但严格意义上来讲,java语言,不能说是编译型语言也不能说是解释型语言,而是两者都包含。

最后引用庆哥的一句话:
其实现在不能再那么肯定说什么什么语言是解释型还是编译型,毕竟技术在进步,比如大家都觉得C语言就是编译型语言,使用gcc编译,但是实际上在TCC上可以直接解释执行。再比如PHP真的就是解释型语言嘛,Facebook很早就搞过一个hiphop编译器,可以将PHP编译成C++再编译成二进制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值