当我们把目光对准Linux时,我们要记住,在Internet世界里还有很多自由软件。谁代表自由软件?谁是自由软件的发展方向?Linux作用举足轻重,但Perl、Apache、Python等自由软件同样不可忽视。它们的情况如何?
1987年,美国的Larry Wall及其合作者们开发了Perl(Practical Extractionand Report Language)语言。从一开发起,LarryWall就赋予Perl免费和开放源码的权利。所以,Perl由它的使用者维护和发展。到现在,它的影响力并不亚于Linux,并在Internet的世界里扮演着越来越重要的角色。
系统管理员和CGI作者的宠儿
简单地说,Perl是一种解释性高级程序语言。为什么Larry Wall会想到要开发Perl语言呢?这跟他长期与Unix打交道有关系。大家知道,Unix主要用C语言和Unix Shell来编程的,但它们却不是一个整体的两个部分。C语言能很方便地进行系统内部的操作,但却不能快速地进行外部开发;Unix Shell刚好相反,它能很方便地进行外部处理,却很难进行底层操作。如果能把这两者结合起来,不是很好吗?Larry Wall认为这是他创建Perl的初衷。因此,他把C语言以及sed、awk、Unix Shell等十多种工具和语言中非常“酷”的优点结合起来,把它们中不“酷”的东西清除出去,开发出了Perl。如果程序员觉得用sed或awk或sh完成工作有点慢,但又不想用C语言来写,Perl就可以派上用场了。
当然,到了现在,Perl已经不像当初那么“单纯”。经过十多年的发展,Perl已是最主要的Web脚本语言,大多数的CGI程序都是用它写的(正因为如此,它甚至成CGI程序的代名词)。同时,它也是一种非常好的快速原型设计语言,并且能使不同的系统很好地协同工作。由于Perl能非常方便地将小程序嵌入到大型应用程序之中,所以被誉为是“Internet的输送管道”。
Perl目前已经受到很多程序开发人员的喜爱,如系统管理员、数据库开发人员、Web开发人员等。现在,Perl不但成为系统管理员和CGI作者的宠儿,就连数学家、遗传学家、新闻工作者,甚至企业管理者也都喜欢用Perl。目前全世界至少有100万以上的程序员在使用Perl来工作。
Perl的标准库及各种文档都是由自愿者写的,但它也有核心开发队伍,即PerlPorters。这些成员都是无私奉献的,他们的任务也很简单,就是开发出大量的比市场上所出售的Perl应用程序更好的产品,而且是免费的。
Perl越来越得到大家的认可并非偶然,这是由于它具有很多其它语言所没有的优点。首先,用Perl编写的程序不用编译,其程序可直接运行。最重要的是,它可以跨平台运行。同一Perl程序可以在Unix、Windows、Windows NT、MVS、VMS、DOS、Macintosh、OS/2、Plan9及AmigaOS等操作系统上自由运行。其次,Perl简单易学。它可以使复杂的事情变简单,简单的事情更简单。Perl为程序员处理了很多东西,例如内存分配、碎片整理等。同时,Perl程序也是相当简练的,一页的Perl程序用其它语言可能要花几百甚至上千行代码。Perl程序不必处理很多细节,这大大减少了程序的Bug,增加了可靠性。第三,Perl运行速度很快。第四,Perl是面向对象的。第五,Perl应用程序很多。CPAN(Comprehensive Perl Archive Network)有很多Perl应用程序。你可以在几分钟内找到自己想要的东西。这些程序都是来自世界各地的Perl开发者提供的。最后,Perl是自由软件,为程序员免费共享。






