【编程语言】编译性语言和解释性语言

要给新来的同事介绍Python语言,之前讲过C语言,我想在宏观上讲一下两种语言(或两类语言)的差别。

 

首先,编程语言的发展过程:机器语言-->汇编语言-->高级语言。(C,Python同属于高级语言)

机算机不能理解高级语言,只能理解机器语言,所以必须把高级语言翻译成机器语言,才能由计算机执行。

翻译有两种方式:一种是编译;一种是解释。二者翻译时机不同。

编译性语言:将源代码编译成机器语言文件,也即可执行程序。

解释性语言:程序执行时将源代码翻译成机器语言,然后再由计算机执行。(也即将编译、执行合二为一)

 

两种翻译方式的比较:

1、编译性语言最终的可执行文件由于是机器语言文件,执行速度要快些,尤其是大型应用程序。

2、解释性语言可移植性较高。(个人经验,Python比C可移植性高的多,Python横行于Windows、Linux、UNIX、AIX)

 

到底先有解释性语言还是先有编译性语言呢?没有找到权威资料,不敢瞎说,但我猜测是先有编译性语言。

解释性语言孰优孰劣呢?不敢瞎说,只能说各有各的优缺点,合适就是最优的。

常见编译性语言:C/C++、Pascal

常见解释性语言:Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB、Shell

注:java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后用解释方式执行字节码,因为最终执行还需要再解释一遍,所以归类于解释性语言。


2011-12-27 任洪彩 qdurenhongcai@163.com

转载于:https://my.oschina.net/renhc/blog/37980

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值