PERL5 —— 面向二十一世纪的语言

原创 2001年08月17日 09:46:00



这是SUN微系统公司(http://soldc.sun.com)面向广大开发人员进行的一个在线调查结果。

您使用什么语言来开发基于WEB的客户端应用程序?

Perl 62.1%
JSP 12.5%
PHP 8.7%
C, C++ 7.1%
ASP 5.7%
其它 3.7%




PERL 编程语言的设计者 Larry Wall把PERL称为后现代语言,它的目的不是要推出一种新的风潮,而是集各种语言的优势,解决实际问题。PERL强大的功能、简洁到极点的语法,使它受到了广大程序员的特别喜爱,成为一种非常流行的工具。使用PERL开发出的应用程序数以万计,公共代码的PERL库函数覆盖了计算机的各个领域,成为其它语言所无法比拟的一个资源,这些库函数都可以在WWW.CPAN.ORG找到。
从语言功能与性能来看,PERL与任何一种现代语言相比都毫不逊色,这主要表现在如下各方面。

1、快速的开发过程
PERL程序是一个文本文件,尽管在运行时实际有一个编译过程,但此过程是不可见的。对程序员来讲,它完全象一个解释性语言,可以随改随测试。

2、极强的可移植性
PERL把有关文件系统和网络的调用归结为其固有函数。PERL已经在几乎所有的平台上都有兼容的版本,这意味者一个PERL程序,只要未用到与操作系统有关的调用,就可以不加修改的在任何平台上运行。PERL甚至统一了目录分隔符,即使在WINDOWS系统下,也可以使用 / 作为目录分隔。
这种可移植性是其它语言,包括JAVA所无法比拟的。

3、极丰富的语言功能和文本处理能力
PERL有很多功能极强而又极为简洁的运算符和固有函数。特别是在文本处理和正规表达式方面的功能,使很多在别的语言里极难解决的操作成为极为简单的操作,比如,用正规表达式分解、替换、匹配字符串等。PERL在这方面的优势已被其它语言如JAVASCRIPT借用,但由于缺乏PERL灵活的语法,正规表达式在JAVASCRIPT里的使用还是麻烦不少。
PERL语言本身支持数组和对应数组,这使程序员能轻易使用复杂的数据结构,用复杂的算法高效的解决各种问题。同样的问题,即使使用C++的STL也要困难若干倍。
PERL不但能处理文字,也能处理二进制数据和C的数据结构。

4、高超的性能
PERL的运行速度大大超过一般解释性语言。与JAVA相比,PERL大约快一个数量级。这是因为PERL实际上是一个编译性语言,PERL脚本在运行前先经过编译、优化,转化为一个运算符树,直接调用C语言实现的各种内部函数。而JAVA则是在一个虚拟机器上解释BYTECODE。
如果有需要,PERL可以被编译为C代码,然后生成可执行文件,这样就省去了每次运行时所需的编译过程,提高启动速度。

5、对OOP的强大支持
PERL支持几乎所有面向对象的编程方法,如类、继承、多继承、虚拟函数、运行时类型确定等等。而且,PERL具有其它语言无法比拟的动态调用功能。目前,几乎所有的PERL库函数都是以OOP的方式,写成类的模块。

6、与C/C++的接口非常方便
PERL里的很多库函数是用C/C++写的,因此PERL有着非常聪明而且功能完善的C/C++开发接口工具。人们可以很容易的把C/C++代码通过动态链接库用于PERL程序。

7、极为丰富的函数库
这是PERL最具有吸引力的地方,全世界的数以万计的程序员在这些年中开发出了大量的源代码,内容涉及各个方面,包括:操作系统、网络通讯、数据类型、数据库接口、用户界面、字符串处理、安全与加密、互联网、服务器、存档压缩、图像处理、邮件与新闻、文件系统、微软视窗等大类,数以千计的模块给程序员提供了极丰富的资源。这些模块都符合PERL的编程标准,从安装到使用都极为简单、方便。PERL本身即带有自动从网上下载模块,自动编译、测试、安装、生成使用说明的工具。

以上是一个对PERL优越性的粗略介绍,还有很多地方在此无法全部提及。

PERL是如此的优秀、实用,它已经被广泛应用在各个方面,特别是在互联网上。上述SUN微系统公司的调查即很好的证明了这一点。

版权声明:本文为博主原创文章,未经博主允许不得转载。

spring是做什么的

1、spring是做什么的 1. 根据Spring最核心的功能IOC(或者说DI)--依赖注入,可以看出Spring主要是帮助你管理你的类实例的,也就是说Spring是一个容器,容器在启动的时候...
  • kangqianshengshi
  • kangqianshengshi
  • 2015年03月14日 20:27
  • 2268

maven是干嘛的?

maven
  • ZLinker
  • ZLinker
  • 2016年07月02日 03:12
  • 2652

数据源的作用

JDBC操作的步骤:   1、 加载驱动程序   2、 连接数据库   3、 操作数据库   4、 关闭数据库,释放连接  也就是说,所有的用户都需要经过此四步进行操作,但是这四步之中有三步...
  • cuiwei1026522829
  • cuiwei1026522829
  • 2014年03月01日 09:46
  • 1832

modCount到底是干什么的呢

modCount到底是干什么的呢在ArrayList,LinkedList,HashMap等等的内部实现增,删,改中我们总能看到modCount的身影,modCount字面意思就是修改次数,但为什么要...
  • u012926924
  • u012926924
  • 2016年01月03日 20:26
  • 8784

HttpContext是干什么的

这是MSDN对HttpContext的说明:         HttpContext 类:封装有关个别 HTTP 请求的所有 HTTP 特定的信息。 (网上说是上下文信息,啥又叫上下文呢?个人感觉说...
  • lwj0310
  • lwj0310
  • 2014年06月28日 10:02
  • 353

Git是干什么的?

Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一)。 Git有什么特点?简单来说就是:高端大气上档次! 那什么是版本控制系统? 如果你用Microsoft Word写...
  • different_think
  • different_think
  • 2015年04月02日 17:44
  • 3479

数据分析是干什么的

数据分析是干什么的主要从两个纬度来理解? 一是数据分析的作用; 二是数据分析的工作内容。 数据分析的作用 单纯的谈数据分析的作用其实意义并不大,所以在谈论作用之前我们首先的考虑是受众对象,比...
  • liu94457
  • liu94457
  • 2015年08月27日 19:15
  • 288

1.1 项目经理是干什么的

项目经理是个什么样的角色? 《IT项目经理成长手记》作者:潘东  读书笔记系列...
  • lialun
  • lialun
  • 2013年07月29日 22:44
  • 645

Akka是个什么鬼?

What is Akka?Akka是什么? Scalable real-time transaction processing 可伸缩实时事务处理 We believe that writin...
  • jeruen
  • jeruen
  • 2016年03月20日 10:24
  • 13391

./configure是干什么的?make install又是干什么的?

编译 : 编译(compilation , compile) 1、利用编译程序从源语言编写的源程序产生目标程序的过程。 2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制...
  • lotluck
  • lotluck
  • 2015年09月22日 18:58
  • 1814
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PERL5 —— 面向二十一世纪的语言
举报原因:
原因补充:

(最多只允许输入30个字)