编程语言与机器语言
编程语言是面向开发人员的,也就是人,人才能通过编程语言实现各种程序
机器语言是面向计算机的,也就是机器,机器才能读懂和运行机器语言
想要程序在机器上跑起来,没有外力帮助的情况下,是不可能的,因为机器读不懂编程语言,更不用提运行了
所以会有一个翻译的角色出现,帮助程序把编程语言翻译成机器语言,这样机器就能读能跑了,程序就可以运行了
不同的编程语言的翻译也不一样,但功能基本都是一样的,翻译成机器语言而已
解释型语言
运行时翻译
程序在运行时,会不停地把编程语言翻译成机器语言,再告知机器去执行,速度慢,但跨平台性好
这种语言依赖解释器
编译型语言
运行前翻译
程序在运行前会有一个编译的动作,会把整个程序的编程语言翻译成机器语言,再统一交给机器去执行,速度块,但跨平台性差
这种语言依赖编译器
Java既是解释型也是编译型
Java编写的程序在运行前,也会有一个编译的动作,但不会直接编译成机器语言,而是编译成介于编程语言和机器语言之间的中间语言,以.class标识,但机器依旧不能识别中间语言,所以Java编写的程序在运行时,还是会不停地把中间语言翻译成机器语言,再由机器去运行,所以Java既是解释型语言也是编译型语言,依赖解释器和编译器