计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。
1.高级语言转成机器语言的方法有两种
(1)编译:将源代码一次性转换成目标代码的过程,执行编译过程的程序叫作编译器。一次性翻译,之后不再需要源代码。
(2)解释:将源代码逐条换成目标代码同时逐条运行的过程,执行解释过程叫作解释器。每次程序运行时随翻译随运行,类似实时同声传译。
根据执行方式不同,编程语言分为两类
静态语言:使用编译执行的编程语言
脚本语言:使用解释执行的编程语言
2.比较两种方法
两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如exe文件,以后要运行的话就不用重新翻译了,直接使用编译的结果就行了(exe文件),因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高,但也不能一概而论,部分解释型语言的解释器通过在运行时动态优化代码,甚至能够使解释型语言的性能超过编译型语言。
编译型语言的优点:
优化更充分,程序运行速度更快
,且
同等条件下对系统要求较低。
编译型
语言
有:
C/C++、C#、html、Java、
Pascal/Object Pascal(Delphi)等。
应
用方向:
开发操作系统、大型应用程序、数据库系统等。
解释则不同,解释性语言
的程序不
需要编译
,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言
每执行一次就要翻译一次
,
效率比较低。解释是一句一句的翻译。
解释型语言的优点:
执行程序时需要源代码,维护灵活,跨平台性很好。
解释型语言有:
Python、
JavaScript、
VBScript、Perl、
Ruby
、MATLAB
、shell等
应用方向:
网页脚本
、服务器等。