20170930 编译型语言和解释型语言

来源:互联网 发布:美工需要学什么软件 编辑:程序博客网 时间:2024/06/01 11:37

       我们平时使用的高级语言无法直接被计算机识别,计算机要想识别并运行高级语言,必须将高级语言翻译成机器码。“翻译”的方式有两种,一种为编译,一种为解释,二者的主要区别是翻译的时机不同。下面分别对编译型语言和解释型语言作出介绍以及二者的优劣势。

1、编译型语言

       需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。
       优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
       缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
       代表语言:C、C++、Pascal、Object-C以及最近很火的苹果新语言swift

2、解释型语言

       解释性语言的程序不需要编译,相比编译型语言省了道工序,解释性语言在运行程序的时候才逐行翻译。
       优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
       缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
代表语言:JavaScript、Python、Erlang、PHP、Perl、Ruby

原创粉丝点击