网易首页 > 网易号 > 正文 申请入驻

官宣已两年,Perl 7“难产”了?

0
分享至

出品 | OSC开源社区(ID:oschina2013)

随着 Perl 5.36 即将发布,Perl 指导委员会在一篇博客中谈论了 Perl 语言当前的发展策略以及未来的发展计划,同时也解答了一些常见的问题。

谁在决定 Perl 的方向?

2020 年 6 月,Perl 官方 。Perl 7 的一个关键想法是通过启用许多广泛使用的模块 / 编译指示,来减少代码顶部所需的样板,但这将以破坏一些向后兼容性为代价。

该想法引发了很多激烈的讨论,有些人认为抛弃 Perl 的关键优势 “向后兼容性” 是非常糟糕的想法,另一些人则认为墨守成规得不到更好的发展。

这些讨论引发了另一个新问题:谁有权利决定 Perl 的发展方向和具体计划?原作者 Larry Wall ?但他已经有近 20 年没有参与 Perl 的开发了。最终,社区在讨论之后创建了一个新的治理结构 :为 Perl 5 作出最多贡献的核心团队通过选举推出三个人,这三个人组成的 Perl 指导委员会 (PSC) 拥有 Perl 未来的最终决策权。

Perl 当前发展战略

第一届 PSC 在 2020 年底当选,随后为 Perl 制定了如下的战略:

  1. 现有的合理编写的 Perl 5 代码应该能在未来的 Perl 版本下继续运行(继续保持向后兼容性)。但有时这是不可能的,比如某些安全漏洞可能需要破坏向后兼容性的更改才能修复。

  2. 推动语言向前发展,提高引入新功能的速度。所以引入了 RFC 流程,任何人都可以使用该流程来对 Perl 语言提出修改。

  3. 让人们更容易使用这些新功能。

该策略的核心是功能保护和版本包捆绑。

  • 特性保护

如果一个新的语言特性不能向后兼容,那么它就会受到 “特性保护” 的保护。比如 ,Perl 5.010 引入了say关键字。但默认情况下无法启用它,因为有人可能在代码中有一个 say 函数,那么新的关键字就会与之冲突。因此需要用到 feature pragma (编译指示功能):

use feature 'say';
say "hello, world";

但并不是所有的新语言特性都有保护。如果新的语法,在所有旧版本的 Perl 中都会导致语法错误,那么就不需要保护了。例如,Perl 5.36.0 引入了新的语法,允许一次从一个列表中处理 N 项:

foreach my ($key, $value) (%hash) {

这个新语法没有特性保护,所以可以在第 0 行使用 (即在use v5.36之前)。

  • 版本包捆绑

Perl 5.36.0 引入了版本包捆绑(Version bundles)功能,解决了 Perl 被诟病已久的 “样板文件” 问题。该功能只需将这一行放在代码顶部:

use v5.36;

这一行相当于以前的:

require v5.36;
use strict;
use warnings;
use feature 'say';
use feature 'state';
use feature 'current_sub';
use feature 'fc';
use feature 'lexical_subs';
use feature 'signatures';
use feature 'isa';
use feature 'bareword_filehandles';
use feature 'bitwise';
use feature 'evalbytes';
use feature 'postderef_qq';
use feature 'unicode_eval';
use feature 'unicode_strings';
no feature 'indirect';
no feature 'multidimensional';

也就是说,版本包捆绑功能,让开发者使用简单的 use v...; 语句即可达成这些效果:

  • 告诉 perl 解释器和人类读者,当前代码需要 perl 5.36.0 或更高版本才能运行;

  • 支持当前版本 Perl 提供的所有非实验性功能;

  • 使用了许多已被广泛实践过的附加编译指示。

该功能极大地减少了在代码顶部编写的样板文件,解决了 Perl 这个诟病已久的问题。

Perl 7 咋样了?

目前,Perl 的计划是继续引入新功能,并解决所有现有的实验性功能,实验性功能要么被删除,要么成为非实验性功能(包含在版本包捆绑中)。

在未来的某个时候,Perl 指导委员会可能会认为:这些新的功能加在一起,代表了一个足够大的进步,足以证明 Perl 的新方向是正确的。如果发生这种情况,那么 Perl 版本将被提升到 7.0。

我们有很多好的想法在工作中,如果我们能够保持去年的势头,那么事情看起来很有希望。与此同时,我们将继续发布 5.XX 版本。(画饼大师?)

即使 Perl 版本将被提升到 7.0,默认情况下 Perl 7 仍将向后兼容 Perl 5 —— 必须将 use v7; 放在代码顶部,才能使用 V7 所有新功能。

感兴趣的朋友可以移步 Perl 指导委员会的博客作进一步阅读:https://blogs.perl.org/users/psc/2022/05/what-happened-to-perl-7.html

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
他祸乱沙俄,睡遍贵族妇女,性器官因过于巨大被博物馆保存至今

他祸乱沙俄,睡遍贵族妇女,性器官因过于巨大被博物馆保存至今

魏惊蛰
2023-07-19 11:28:14
清华北大抢人能有多狠?网友:凌晨3点过来绑人,生怕北大先抢走

清华北大抢人能有多狠?网友:凌晨3点过来绑人,生怕北大先抢走

热闹的河马
2024-06-27 14:37:47
新政满月|杭州:热盘再现“千人摇”,“老破小”持续跑量

新政满月|杭州:热盘再现“千人摇”,“老破小”持续跑量

央广网
2024-06-30 10:50:56
天猫新规犯众怒,禁止商家塞小卡片偷流量

天猫新规犯众怒,禁止商家塞小卡片偷流量

TOP电商
2024-06-28 18:36:32
异性相处,最容易产生好感的行为:频繁聊天

异性相处,最容易产生好感的行为:频繁聊天

第7情感
2024-05-16 00:00:02
詹姆斯经纪人回应对布朗尼的批评:如果这是关系户,那就是喽

詹姆斯经纪人回应对布朗尼的批评:如果这是关系户,那就是喽

懂球帝
2024-06-29 16:14:06
当代打工人是懂使用办公软件的:

当代打工人是懂使用办公软件的:

滑稽斑马呀
2024-06-21 11:45:13
原国防部部长,被取消上将军衔,哪一级批准

原国防部部长,被取消上将军衔,哪一级批准

文雅笔墨
2024-06-28 13:23:05
从小爱“咬指甲”的孩子,医生坦言:长大后,多半逃不过两种结局

从小爱“咬指甲”的孩子,医生坦言:长大后,多半逃不过两种结局

吾爱纪实
2024-06-28 13:25:25
前行政长官林郑月娥,退休后因被制裁,沦落到只能在香港租房住?

前行政长官林郑月娥,退休后因被制裁,沦落到只能在香港租房住?

史二了
2024-06-18 14:01:44
全球股市上半年收官:日美股指涨超18%领跑,A股市值蒸发逾4万亿元

全球股市上半年收官:日美股指涨超18%领跑,A股市值蒸发逾4万亿元

华夏时报
2024-06-30 09:16:10
“反对献血的,当他们自己需血源时会怎么想” 网友:你怎么不献

“反对献血的,当他们自己需血源时会怎么想” 网友:你怎么不献

说真话的小陈
2024-06-30 11:00:52
女子举报邻居种罂粟,评论区却在冷嘲热讽,这群人真的值得注意!

女子举报邻居种罂粟,评论区却在冷嘲热讽,这群人真的值得注意!

伊印
2024-05-15 17:01:29
羡慕,55升只要20元人民币的汽油,浙江车主加到了

羡慕,55升只要20元人民币的汽油,浙江车主加到了

户外小阿隋
2024-06-29 20:18:06
1-3!点球取消,浙江输得冤!足球报官网:关星改判

1-3!点球取消,浙江输得冤!足球报官网:关星改判

建哥说体育
2024-06-29 22:03:10
没人敢动的军中巨贪,背后有两大保护伞,刘源:丢乌纱帽也拿下他

没人敢动的军中巨贪,背后有两大保护伞,刘源:丢乌纱帽也拿下他

旧时楼台月
2024-04-22 14:42:41
鲜毛豆和它是天生一对!大火一炒一焖,营养又补钙,不输鸡鱼鸭

鲜毛豆和它是天生一对!大火一炒一焖,营养又补钙,不输鸡鱼鸭

美食达人计划
2024-06-29 12:01:59
山姆爆款推荐!忍不住买买买!

山姆爆款推荐!忍不住买买买!

北京吃货小分队
2024-06-30 11:34:06
去婆家吃饭,走时误拿小姑子的包,回到家打开一瞧,如遭雷击

去婆家吃饭,走时误拿小姑子的包,回到家打开一瞧,如遭雷击

户外阿崭
2024-05-24 07:10:20
打不垮俄,拜登分3路攻击中国,中方砸千亿人民币,贸易冲突升级

打不垮俄,拜登分3路攻击中国,中方砸千亿人民币,贸易冲突升级

影孖看世界
2024-06-30 13:39:15
2024-06-30 14:24:49
开源中国
开源中国
每天为开发者推送最新技术资讯
6355文章数 34231关注度
往期回顾 全部

科技要闻

Meta低头,库克认错,XR设备还不相信高端

头条要闻

深陷恒大地产财务造假风波 普华永道前八大客户全丢了

头条要闻

深陷恒大地产财务造假风波 普华永道前八大客户全丢了

体育要闻

“意大利很弱”,不再是错觉了

娱乐要闻

白玉兰明星反应精彩 胡歌获奖唐嫣激动

财经要闻

A股上半年人均亏损1.2万 你亏了多少?

汽车要闻

小鹏MONA M03 7月3日首发 15万紧凑级

态度原创

教育
健康
手机
房产
数码

教育要闻

高考录取结果查不到怎么办?

人类为何至今无法攻克渐冻症?

手机要闻

都用国产零件,手机价格就能便宜了?

房产要闻

20亿!又有国企要卖海南资产!

数码要闻

【IT之家开箱】vivo Pad3 平板图赏:金属一体化机身,简洁时尚

无障碍浏览 进入关怀版