成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Perl 指導委員會談發展戰略: Perl 7 沒那么快發布

開發
隨著 Perl 5.36 即將發布,Perl 指導委員會在一篇博客中談論了 Perl 語言當前的發展策略以及未來的發展計劃,同時也解答了一些常見的問題。

隨著 Perl 5.36 即將發布,Perl 指導委員會在一篇博客中談論了 Perl 語言當前的發展策略以及未來的發展計劃,同時也解答了一些常見的問題。

誰在決定 Perl 的方向?

2020 年 6 月,Perl 官方宣布 Perl 7 計劃。Perl 7 的一個關鍵想法是通過啟用許多廣泛使用的模塊 / 編譯指示,來減少代碼頂部所需的樣板,但這將以破壞一些向后兼容性為代價。

該想法引發了很多激烈的討論,有些人認為拋棄 Perl 的關鍵優勢 “向后兼容性” 是非常糟糕的想法,另一些人則認為墨守成規得不到更好的發展。

這些討論引發了另一個新問題:誰有權利決定 Perl 的發展方向和具體計劃?原作者 Larry Wall ?但他已經有近 20 年沒有參與 Perl 的開發了。最終,社區在討論之后創建了一個新的治理結構 :為 Perl 5 作出最多貢獻的核心團隊通過選舉推出三個人,這三個人組成的 Perl 指導委員會 (PSC) 擁有 Perl 未來的最終決策權。

Perl 當前發展戰略

第一屆 PSC 在 2020 年底當選,隨后為 Perl 制定了如下的戰略:

  • 現有的合理編寫的 Perl 5 代碼應該能在未來的 Perl 版本下繼續運行(繼續保持向后兼容性)。但有時這是不可能的,比如某些安全漏洞可能需要破壞向后兼容性的更改才能修復。
  • 推動語言向前發展,提高引入新功能的速度。所以引入了 RFC 流程,任何人都可以使用該流程來對 Perl 語言提出修改。
  • 讓人們更容易使用這些新功能。

該策略的核心是功能保護和版本包捆綁。

特性保護

如果一個新的語言特性不能向后兼容,那么它就會受到 “特性保護” 的保護。比如 ,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 指導委員會的博客作進一步閱讀。

本文轉自OSCHINA

本文標題:Perl 指導委員會談發展戰略: Perl 7 沒那么快發布

本文地址:https://www.oschina.net/news/197534/what-happened-to-perl-7

責任編輯:未麗燕 來源: OSCHINA
相關推薦

2010-02-26 23:17:41

2010-07-21 11:17:30

2010-07-23 14:12:14

Perl Hash

2010-07-26 13:27:19

Perl多線程

2010-07-26 14:45:17

Perl Hash

2010-07-13 13:15:17

Perl

2010-07-15 09:10:08

Perl函數手冊

2010-07-26 15:06:29

Perl解析XML文件

2010-07-26 15:17:51

Perl解析XML文件

2010-07-21 13:43:30

Perl數組

2010-07-20 13:02:08

Perl數組

2010-07-26 10:09:01

Perl split函

2010-07-26 16:23:23

Perl語言

2010-07-21 10:32:05

Perl函數返回值

2010-07-26 09:32:41

Perl命令行

2010-07-21 14:18:27

Perl函數

2010-07-21 10:05:13

Perl文本處理模塊

2019-02-20 15:00:57

大數據數據大數據技術

2010-07-23 12:23:49

Perl基礎

2010-07-23 13:23:10

Perl語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色在线免费播放 | 国内精品久久精品 | 日本在线小视频 | 超碰在线免费 | 午夜大片| 天堂精品视频 | 中文字幕国产精品 | 在线不卡av | 国产高清久久久 | 国产精品a久久久久 | 日本免费一区二区三区视频 | 日本一区二区三区免费观看 | 国产专区在线 | 在线欧美小视频 | 久草免费福利 | 国产成人综合网 | 日韩精品无码一区二区三区 | 天天弄天天操 | 日本中文字幕日韩精品免费 | 最新中文字幕在线播放 | 在线国产一区二区 | 亚洲精品自在在线观看 | 插插宗合网| 国产精品欧美一区二区三区不卡 | 在线国产99 | 91大神在线看| 久久国色 | 欧美精品一区二区三区在线播放 | 精品av天堂毛片久久久借种 | 久久精品欧美一区二区三区不卡 | 成人免费一级视频 | 国产一区二区三区久久久久久久久 | 亚洲 中文 欧美 日韩 在线观看 | 精品一区国产 | 国产精品久久久久久久久久久久 | 亚洲欧美日韩精品久久亚洲区 | 日韩www| 不卡一二三区 | 免费在线成人 | 精品久久久久一区二区国产 | 蜜桃视频一区二区三区 |