Perl 迎来 30 周年,其社区持续蓬勃发展

Perl 因其效用和忠实的用户而闻名,已证明其持久力。本文简要介绍了 Perl 语言的历史,并介绍了部分顶级用户群。
763 位读者喜欢这篇文章。
30 years on, Perl and its community continue to thrive

Internet Archive Book Images。由 Opensource.com 修改。CC BY-SA 4.0

Larry Wall 于 1987 年 12 月 18 日向 comp.sources.misc Usenet 新闻组发布了 Perl 1.0。在随后的近 30 年里,Perl 语言和围绕它涌现的爱好者社区都得到了发展和壮大——并且它们还在继续这样做,尽管有人提出了相反的建议!

Wall 的基本论断——不止一种方法可以做到——继续引起开发人员的共鸣。Perl 允许程序员体现程序员的三大美德:懒惰、急躁和狂妄自大。Perl 最初的设计目的是实用,而非美观。Perl 是一种用于修复问题、快速黑客攻击以及部分通过社区力量使复杂事情成为可能的编程语言。这是 Larry Wall 有意识的决定:在 1999 年的一次采访中,他提出了一个问题:“你上次在管道上使用胶带是什么时候?”

历史课

Perl 1.0 - Perl 4.036

Perl 允许程序员体现程序员的三大美德:懒惰、急躁和狂妄自大。
Larry Wall 在 System Development Corporation(后来成为 Unisys 的一部分)工作期间开发了第一个 Perl 解释器和语言。早期版本侧重于他试图解决的系统工程问题所需的工具。1988 年发布的 Perl 2 改进了正则表达式引擎。1989 年的 Perl 3 添加了对二进制数据流的支持。1991 年 3 月,Perl 4 发布,同时发布的还有 Larry Wall 和 Randal L. Schwartz 编写的Programming Perl的第一版。在 Perl 4 之前,Perl 的文档一直保存在单个文档中,但 O'Reilly 出版的“骆驼书”(Camel Book)仍然是 Perl 语言的权威参考。随着 Perl 多年来的变化,《Programming Perl》也进行了更新,现在已是第四版。

早期 Perl 5

1994 年 10 月 17 日发布的 Perl 5.000 是对解释器的几乎完全重写。新功能包括对象、引用、词法变量以及外部可重用模块的使用。这种新的模块化为扩展语言提供了一种工具,而无需修改底层解释器。Perl 5.004 引入了 CGI.pm,这有助于将其用作早期的互联网脚本语言。许多今天仍在使用的 Perl 驱动的互联网应用程序和网站都是在这个时候出现的,包括 IMDB、Craigslist、Bugzilla 和 cPanel。

现代 Perl 5

Perl 版本 5.10 于 2007 年 12 月 18 日发布,恰逢 Perl 1.0 发布 20 周年。版本 5.10 标志着“现代 Perl”运动的开始。现代 Perl 是一种开发风格,它利用最新的语言功能,高度重视可读代码,鼓励测试,并严重依赖 CPAN 贡献代码生态系统的使用。Perl 5 的开发继续沿着更现代化的方向发展,近年来关注 Unicode 兼容性、JSON 支持以及其他对面向对象编码人员有用的功能。

Perl 6

2000 年 7 月 19 日,Larry Wall 在 Perl 大会上宣布,他有兴趣开发 Perl 6,这是该语言的重新设计,目的是消除该语言的历史缺陷。十五年后,在 2015 年 12 月,Perl 6 1.0 发布。Perl 6 不向后兼容 Perl 5,虽然旨在作为替代品,但 Perl 6 团队并不急于让 Perl 5 过时。“至于 Perl 6 是否会取代 Perl 5,是的,可能会在 40 年左右,”Larry Wall 在 2015 年的InfoWorld 采访中说道。Perl 6 有过几次启动和停止的实现,但只有一个仍在积极开发中:Rakudo Perl 6。由于 Perl 6 仅仅是一个规范(与之前的所有 Perl 不同),因此可能会出现许多实现。正如原始设计文档所述,“Perl 6 是任何通过官方测试套件的东西。”

Perl 社区

在我参与 Perl 社区的这些年里,我多次听到这样说:Perl 是关于人的。创建、维护、支持和使用 Perl 的人们共同创造了一个环境,让开发人员可以在其中学习和发展,每个人都从事自己感兴趣的事情。

Larry Wall,一切的始作俑者

当然,这一切的中心是 Larry Wall。Larry 和他的妻子 Gloria 周游世界各地参加 Perl 和其他技术活动。当我第一次加入 Perl 社区时,似乎有点英雄崇拜围绕着他,但 Larry 并不特别享受他声名鹊起的那个方面。他是一位善良、说话温和、才华横溢的人,他喜欢编码以及围绕他的工作发展起来的社区。如今,你通常会看到他戴着宽边帽和醒目的印花衬衫;即使在像 Perl 社区这样不拘一格的人群中,他也很难被忽视。

Larry Wall, creator of Perl

Larry Wall,Perl 的创建者

作为牧师的儿子和孙子,Larry 本身也是一名基督徒。这种思想遗产为他的一些工作和对 Perl 的倡导提供了信息,包括“其他人也很重要”的想法。他和他的妻子都曾在伯克利和加州大学洛杉矶分校攻读语言学研究生,并计划成为传教士,但由于健康原因,他们被迫放弃了这个梦想。Wall 在 1999 年的 Linux Journal 采访中说:“有趣的是,现在传教士可能从 Perl 中获得的好处比他们从我作为传教士那里获得的好处更多。想想看。”

我很荣幸主持了 Larry 在佛罗里达州奥兰多举行的 YAPC::NA 2016 上的问答环节,并有幸与他和 Gloria 共度时光。在那次会议之后,我很荣幸能称他们为我的朋友。如果您有机会花时间与这对了不起的夫妇交谈,请务必这样做;您的生活会因此而丰富。

Perl 5 Porters

1994 年 5 月,Perl 5 Porters 电子邮件列表成立,旨在协调将 Perl 5 移植到不同平台的工作。P5P(现在的名称)是讨论 Perl 标准发行版的维护和开发的主要邮件列表。许多“porters”也活跃在 IRC 上。此过程的当前监督者被称为“Pumpking”或“南瓜持有者”。当前的 Pumpking 是 Sawyer X,他/她也参与了 Dancer 项目,我几年前在 Opensource.com 上写过关于该项目的文章。P5P 的讨论有时可能很激烈;那里有很多有才华的人,他们中的许多人都有强烈的意见。但是,如果您正在寻找有关 Perl 核心工作原理的知识,那么 P5P 就是创造奇迹的地方。

Sawyer X, Perl 5 Pumpking

Sawyer X,Perl 5 Pumpking

Perl Mongers

1997 年,来自纽约市地区的一群 Perl 爱好者在第一届 O'Reilly Perl 大会(后来成为 OSCON)上会面,并成立了 New York Perl Mongers,即 NY.pm。Perl Mongers 组的“.pm”后缀是对共享代码 Perl 文件以 .pm 为后缀(表示“Perl 模块”)这一事实的戏仿。Perl Mongers 组织在过去 20 年中,为世界各地本地用户组的建立和发展提供了框架,目前拥有 250 个 Perl monger 组。各个小组或以团队形式工作的小组不时赞助和举办会议、黑客马拉松和研讨会,以及用于技术和社会讨论的本地会议。

PerlMonks

有问题吗?想阅读一些 Perl 大师的智慧吗?请查看 PerlMonks。您会找到大量教程,一个向社区提问和获得答案的场所,以及关于 Perl 和 Perl 社区的轻松片段。驱动 PerlMonks 的软件有点过时了,但社区继续蓬勃发展,每天都有新帖子,并且以幽默的方式看待开发人员对其最喜欢的语言表达的宗教狂热。当您参与时,您会获得积分和等级Meditations 包含关于 Perl、黑客文化或其他相关事物的讨论;有些包括对新功能的建议和想法。

CPAN

Perl 与许多其他语言一样,是模块化的;无需更新核心解释器即可创建和安装新功能。Comprehensive Perl Archive Network 成立于 1993 年,自 1995 年 10 月上线以来,旨在帮助统一 Perl 模块的各种分散档案库。该存储库在全球 250 多台服务器上镜像,目前包含来自 13,000 多名作者的近 200,000 个模块。模块发行版的新版本每天都在上传。CPAN 的有趣产物之一是 Acme:: 命名空间。Acme:: 是 CPAN 中为实验、有趣但无用的模块、轻浮或琐碎的想法保留的区域。Opensource.com 上 2016 年的一篇文章仅为了好玩而研究了其中的一些模块。您可以在 MetaCPAN 上搜索您可能需要的任何内容。

Perl 基金会

1999 年,Kevin Lenzo 创立了“Yet Another Society”,后来被称为 Perl 基金会。最初的目的是协助北美 Perl 大会活动的基层工作,包括银行业务和组织需求。此后,重点发生了转移,TPF 现在为扩展和改进 Perl 5 和 Perl 6 提供资助。Perl 基金会还颁发 White Camel,以表彰对 Perl 社区的重大非代码贡献。

YAPC 欧洲基金会

YEF 成立于 2003 年,旨在主要通过公共活动帮助发展欧洲 Perl 社区。YEF 支持本地 Perl Mongers 小组努力通过提供在线支付和注册系统以及启动捐款来赞助会议。他们的努力支持在欧洲频繁举行的研讨会和黑客马拉松,以及年度 Perl 大会。

日本 Perl 协会

日本 Perl 协会通过倡导和赞助年度 YAPC::Asia 大会(通常是世界上最大的 Perl 大会)来帮助推广亚洲的 Perl 技术和文化。多年来,该会议一直在东京举行,但最近已开始迁往日本的其他地点。

Enlightened Perl Organisation

与 Perl 基金会并行工作,Enlightened Perl Organisation 致力于支持 Perl 项目,这些项目有助于 Perl 保持作为企业级开发平台的地位。EPO 将其注意力集中在代码、工具链元素、文档、宣传材料和教程上,这些材料和教程使企业更容易采用 Perl。除了赞助伦敦 Perl 研讨会和 Strawberry Perl 计划外,Enlightened Perl Organisation 还为 CPAN 测试人员提供了大量资金。测试人员是一群开发人员,他们在多个操作系统平台上针对多个 Perl 版本测试 CPAN 模块。EPO 还赞助了一个 Send-A-Newbie 计划,为首次参加 Perl 会议的人员提供资金。

YAPC 和 Perl 大会

第一届 O'Reilly Perl 大会于 1997 年举行。1999 年,O'Reilly 在该计划中添加了额外的开源内容,该会议更名为 OSCON。第一届 Yet Another Perl Conference 于当年 6 月在匹兹堡举行,此后每年都在北美举行。自 2000 年起,欧洲也组织了其他类似的会议,以色列自 2003 年起,澳大利亚自 2004 年起,亚洲和巴西自 2005 年起,俄罗斯自 2008 年起。

“The Perl Conference”名称归 O'Reilly 所有,但在 2016 年,宣布已达成协议,允许将该名称用于 YAPC 会议,从 2017 年会议开始。在每次会议上,演讲者都会介绍 Perl 和其他与开发相关的主题,并且通常在会议之前或之后都会举办教育研讨会。北美和欧洲会议通常有 300-400 名与会者。这些会议通常既有面向新 Perl 开发人员的内容,也有为核心开发人员和其他社区成员提供互动和协作以及展示自己工作的机会。

久经考验的技术......以及更多

在 Perl 迎来 30 周年之际,围绕 Larry Wall 解决棘手的系统管理问题而出现的社区继续发展壮大。新的开发人员不断加入该社区,并且正在进行大量新工作,以使该语言现代化并使其在解决新一代问题方面保持有用。有兴趣吗?查找您当地的 Perl Mongers 小组,或在线加入我们,或参加您附近的 Perl 大会!

User profile image.
Ruth Holloway 长期以来一直担任系统管理员和软件开发人员,很久以前在 VAX 11/780 上开始了她的职业生涯。到目前为止,她的职业生涯大部分时间都在为图书馆的技术需求服务,自 2008 年以来一直是 Koha 开源图书馆自动化套件的贡献者。Ruth 目前是 Clearbuilt 的 Perl 开发人员和项目负责人。

2 条评论

我在这篇文章中唯一没有看到的是 Larry 对 Perl 的最初定义——“Pathologically Eclectic Rubbish Lister”——我多次利用这种语言将“苍蝇屎与胡椒粉”分开——感谢您提供了一种有用的语言。

这可能是因为它实际上不是 Larry 的最初定义。这是一个后来创造的反义缩写。

回复 作者:Bob Griswold(未验证)

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.