34岁"老人":Perl
2021年12月18日,是Perl的34岁生日。
34岁"老人":Perl
Perl的演变过程
LarryWale于1987年开始写作Perl,并将1.0发布到comp.sources.misc新闻组中。这门语言在随后的几年里迅速发展。
Wale第一次把这种语言叫做Pearl(Pearl),因为他想要发展的语言有一个吉利的名字,而且记起来要尽可能短些,他甚至声称,他已经考虑了所有三、四个字母的词汇,还有自己妻子的名字Gloria。但是PEARL的另一种语言很久以前就是Perl,为了避免混淆,Wall将其命名为Perl。
Perl2于1988发布,添加了更多功能,具有更好的正则表达式引擎。1989和1991年推出了Perl3和Perl4。
Perl5于1994发布,它是最大的一次。Perl5发布了多种版本:Perl5.6于2000年发布,Perl5.8的不断发展从2002-2008年开始,5.10于2007年发布,5.12从2010年起,Perl开始采用每月发行一次,并每年发行一次稳定版。5.14发布于2011年,5.16在2012年,5.18在2013年发布。
Perl6在2000年发布,它完全重写了Perl,开发人员根据不同的原则决定首先编写语言规范。2015年12月25日,经过十年发展的Perl6语言在圣诞节正式发布。LarryWall以Perl6吉祥物Camelia的名字宣布Perl6可以用于产品,但同时强调说,她还处在青春期,意味着她已经有些成熟,但仍将面临一些问题。
Perl没人用了?
很多人宣称憎恨Perl,而大部分原因都是Perl缺乏可读性和维护。
Perl语言的核心理念是:TMTOWTDI(There’smorethanonewaytodoit),条条大路通罗马,解决问题的方法不止一个。Perl拥有强大而灵活的动态语言,而且它也借鉴了C/C++、Basic、Pascal等语言中的语法规则,从而产生了大量的冗余语法。
而且正因为Perl的灵活性和“过分的”冗余语法,所以才有“只写一次”(write-only)的美称。由于Perl程序可任意编写(例如,变量可直接使用而无需声明),但也许某些字母较少就能得到意外的结果(但没有报错),而且很多Perl程序的代码很难读懂,执行同样功能的程序代码长度可能相差十倍多,这使得维护程序(甚至编写人员)很难维持。
再一次,由于Perl这种不规范的特性,可能导致某些Perl程序员忘记了经常查看Perl手册的语法。
Perl还有人用!
编程人员NikosVaggalis在一篇博客中说,Perl仍然具有巨大的使用价值,并给出了自己的理由。
多平台支持
即使没有VM(VM),Perl也能运行在数以百计的计算机平台和系统中,应用范围很广,从Solaris到Windows10,从大型机到便携设备。
多用途
Perl可用于计算机科学的各个领域,从数据库的使用、正则表达式、解析、系统管理,也包括Web和桌面开发等。Perl也应用于金融、生物学和其它领域。
丰富的语法
Perl是一种非常成熟的编程语言,其语法具有表达能力。NikosVaggalis表示:“别为在线流行的‘脚本语言’这一说法感到困惑。我一直不理解为什么会有这样的标签,但是我想这可能是因为它和Unixshell工具awk,sed等等的古老关系。"NikosVaggalis认为,掌握这种语言会使很多难题成为可能,甚至会进入函数式编程领域。
Perl的语法不像Python那样受限制,毕竟其核心思想是TMTOWTDI(不止一种)。有时我想玩点小游戏,有时我也想玩安全牌,有时也想试一试”,Perl提供了这种环境。