要给新来的同事介绍Python语言,以前讲过C语言,我想在宏观上讲一下两种语言(或两类语言)的差异。java
首先,编程语言的发展过程:机器语言-->汇编语言-->高级语言。(C,Python同属于高级语言)编程
机算机不能理解高级语言,只能理解机器语言,因此必须把高级语言翻译成机器语言,才能由计算机执行。编程语言
翻译有两种方式:一种是编译;一种是解释。两者翻译时机不一样。spa
编译性语言:将源代码编译成机器语言文件,也便可执行程序。翻译
解释性语言:程序执行时将源代码翻译成机器语言,而后再由计算机执行。(也即将编译、执行合二为一)ip
两种翻译方式的比较:编译
一、编译性语言最终的可执行文件因为是机器语言文件,执行速度要快些,尤为是大型应用程序。gc
二、解释性语言可移植性较高。(我的经验,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