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

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 年里,该语言和围绕它 возникший 的爱好者社区都得到了发展和蓬勃发展——并且它们还在继续这样做,尽管有相反的说法!

Wall 的基本论断——条条大路通罗马——继续引起开发者的共鸣。Perl 允许程序员体现程序员的三大美德:懒惰、急躁和傲慢。Perl 最初的设计目的是实用性,而不是美观。Perl 是一种用于修复问题、快速 hack 和借助社区力量使复杂事物成为可能的编程语言。这是 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 版本于 Perl 1.0 发布 20 周年之际发布:2007 年 12 月 18 日。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 中获得的好处比他们从我作为传教士那里获得的好处更多。真是难以置信。”

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

Perl 5 Porters

1994 年 5 月,Perl 5 Porters 电子邮件列表成立,旨在协调将 Perl 5 移植到不同平台的工作。P5P,现在广为人知,是讨论 Perl 标准发行版的维护和开发的主要邮件列表。许多“porters”也在 IRC 上活跃。当前此过程的监督者被称为“Pumpking”或“Pumpkin的持有者”。当前的 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)上相遇,并成立了纽约 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 的区域,保留用于实验、娱乐但无用的模块、轻浮或琐碎的想法。2016 年 Opensource.com 上的一篇文章出于娱乐目的介绍了其中的一些模块。您可以在 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 Testers 提供了大量资金。Testers 是一群开发人员,他们针对多个 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 署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.