Perl
和
Python
的比较研究
随着系统管理的复杂化和网络运用的扩展,
脚本语言在实际编程中的应用越
来越广泛。
传统观念是:
一般的高级语言如
C/C++,Java,Delphi
等用来编写主要
的功能组件,如
java
的类和
beans
,用
C/C++
写的动态连接库,用
VisualBasic
写
的控件等,而脚本语言如
JavaScript,Vbscript,perl,python,sh
等通常认为脚
本语言是介于
HTML
应用的发展和脚本语言本身的发展,脚本语言的应用早就超
出仅仅作为常规编程语言的辅助角色而用来直接开发应用系统,
著名的网络流控
制系统
mrgt
就是用
perl
开发的。现在的脚本语言,其功能甚至强大到可以和一
般高级语言相媲美,而且引入较新的程序机制和技术(如
OO
和异常处理)
,加
上固有的简单易用,
逐渐发展为程序开发的一支主流。
脚本语言的基本特征是语
法简单,跨平台,类型宽松,解释执行。早期的脚本语言?本文选择现今在自由
软件开发里很具代表性和广泛使用的两种脚本语言
perl
和
python
进行比较研究,
以期使读者能对这两种脚本语言的基本特点和新发展有一定的了解。
一、
两者初识
Perl
(可以看作
Practical Extraction And Reporting Language
的首字母)语言
最早由
Larry Wall
开发,原始动机即作为一个文本提取和报告的实用语言,本来
是基于
UNIX
系统,
后来发展成能运行于几乎所有的机器体系和操作系统。
Larry
Wall
是坚实的免费软件拥护者,所以
perl
也成为免费软件之一
(
但不属
GNU)
,
按自由免费软件的一般模式发展和传播(
perl
中的源代码、标准库文件、可选模
块及所有文档都免费提供,
并被用户团体所支持)
。
从
1988
年的最初诞生,
到现
在的
perl 6
系列版本,
perl
能够如此稳健蓬勃的发展是和它自由免费、简单高效
(
语法上象
C
和
Unix
的
sh
,解释执行前会简单编译,有点象
java)
、强可扩展性、
数据类型灵活、面向对象以及有强大规范的用户团体交流
(CPAN, Comprehensive
Perl Archive Network)
和幕后支持组织
(CPAST, Comprehensive Perl Arcana Society
Tapestry)
分不开的。
Python
最初出现在
2000
年前后,名字来源一喜剧团体
Monty Python
,并无
实际代表意义。
Python
最初由
Guido van Rossum
及其合作者设计开发,后来
python
开发小组多次重组,最终到
Digital Creations
。
Python
和
perl
一样是在迅
速稳定发展,目前的一个著名成功业绩是
Digital Creations
开发的
zope
,下一代
开放源码应用服务器以及门户工具。从抽象的功能和特点来说,
python
是和
perl
最相像的语言,
可能和
perl
的成功和
python
的较晚出现有关。
和
perl
一样,
python
也是自由免费、
简单高效、
强可扩展性、
数据类型灵活、
面向对象的。
并且
python
的功能相对更强大,更易于编写大程序,核心又较小。尽管从抽象的角度,
perl
和
python
两者有很大的相似,但作为不同的语言,他们却是又有许多差别,下
文从几个主要的方面对两者进行深入的比较研究,
尽量能找出它们的异同并对它
们一些进行原理和模型层次的探讨。
下面我们先来看一下如何用这两个语言实现最简单的“
hello!
”程序,先对
它们有个大概的印象。在
perl
情形,先选择一个你比较喜欢的文本编辑器编写
hello.pl
程序如下:
#This is a hello saying demo