计算机不能直接理解的高级语言,只能直接理解机器语言,所以必须把高级语言防疫成机器语言,计算机才能执行高级语言的编写的程序,翻译的方式两种:
特征
1、解释型语言:
解释型语言的程序不要编译,在运行程序时进行翻译,比如java,专门有一个解释器可以直接执行java程序,每一个语句都是执行的时候才翻译的,每执行一次翻译一次,效率比较低。
2、编译型语言:
编译型语言就是编译的时候直接编译成机器可执行的(.exe.dll.ocx)编译和执行是分开的,但是不能跨平台,比如exe文件,以后要运行就不需要重新编译了,只做一次翻译,所以编译型语言的程序效率高。
区别
1、解释型语言:
(1)程序运行的控制权在解释器(jre,.net),而不在于程序
(2)一些网页脚本,服务器脚本以及辅助开发接口这样的对速度要求不高,但是对系统的兼容性有一定要求的程序通常使用解释型语言,如:java、javascript、vb、python、ruby、shell等。
2、编译型语言:
(1)程序运行的控制权在用户程序
(2)编译好的语言由于执行速度快,同等条件下对系统的要求比较低,因此开发操作系统、大小应用程序、数据库系统等使用编译型语言,如:c、c++、object-c等。
优缺点
1、解释型语言:
优点:可移植性好,只要有解释环境,可以在不同的操作系统上运行,只需要把解释器移植到不同的系统上就能够直接使用。
缺点:需要解释环境,速度较慢,占用的资源也多一些,代码效率低。其封装底层代码,程序严重依赖平台,占用了大量系统资源(解释器和用户程序)
2、编译型语言:
优点:运行速度快,代码效率高,编译后程序不可修改(oc动态运行时方案排除),保密性好。
缺点:代码需要经过编译才可运行,可移植性差,只能在兼容的操作系统上运行