这是我参与「第四届青训营 」笔记创作活动的第3天
我们要知道计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言。
-
那么程序是如何运行呢?
- 编程:程序员所写的代码
- 编译:机器将代码转换为机器语言(0,1)
- 运行:机器实现相应操作
-
那么这么多的语言其编译运行的方式有区别吗?
还是存在一定差别的,不同的人对其的分类不同,我认为主要可分为三类: 编译型、解释型、混合型,下面我向大家介绍一下各种类型
-
编译型(代表c、c++)
对于各种不同的系统,有专门的编译器进行整体编译
优点:代码只需编译一次,以后可直接运行结果,执行效率高,运行速度快
缺点:移植性差,可能存在不兼容现象
-
解释型(代表Python)
使用解释器对代码进行逐行翻译,立即执行,这个过程是不会产生新文件的,所以Python天生开源。
优点:只需提供解释器,就可在不同的系统中运行,移植性
缺点:边解释边运行,效率低
-
混合型(代表JAVA)
先对代码进行编译,对于不同平台有不同的虚拟器,通过虚拟器转化为机器指令 可以说一次编译,多次运行,集齐上述两种的优点。
但是我们要理性的看待问题,对于每一种语言,其能存活至今,肯定都有其过人之处,要不然早就被淘汰了,只不过在这个方面,JAVA做的比较好。
感谢:
摘自于 blog.csdn.net/gsdggggggg/…的两幅图