ダン・ブック()、CPANの70以上のモジュールをサポートし、 提案を実施する際のリスク 。 Perl 7 ブランチでは、デフォルトで厳密なチェックの「strict」モードを有効にし、「use warnings」をアクティブ化し、古いコードとの互換性に影響するいくつかのパラメータの値を変更する予定であることを覚えておいてください。
この変更により、Perl 7 の多数の CPAN モジュールが壊れ、各モジュールの変更が必要になることが予想されますが、すべての作成者が対応できるわけではないことを考慮すると、計画された年内に実装するのは非現実的です。 Perl 7 の新機能により、最新バージョンの Perl 以外をサポートするように設計されたモジュールの使用もできなくなります。
さらに、次のような問題が発生する可能性があることも指摘されています。
- Perl 7 用に書かれたマニュアルの一部の例や推奨事項が Perl 5 では機能しないため、初心者の間で混乱が生じています。
- ワンライナーの開発への影響は研究されていません。 Perl は、大規模なスクリプトの作成だけでなく、厳密モードを使用する必要がない管理者のニーズに合わせたワンライナーや短いスクリプトの作成にも広く使用されています。
- ディストリビューションでは、Perl 7 と Perl 5 のスクリプトを同時に実行するための実行可能ファイルを配信する際に問題が発生しています (Python 2 と 3 でも同じ状況が繰り返されると予想されます)。
- Perl 7 用に書かれたコードは、Perl 5 では動作しないことを具体的に記載する必要はなく、多くの開発者はサポートされる最小バージョンを指定しません。
- Perl 5 に依存するさまざまなユーティリティとモジュールには、いくつかの修正が必要になります。
- Perl 7 の準備により、リソースの再割り当てのため、Perl の新機能の開発はしばらく停止されます。
- 適切な動機付けがないまま大量の追加作業負荷が発生したために、Perl インタープリタ、モジュール、ツール、パッケージ メンテナーのアクティブな開発者が燃え尽きて離職するリスクがあります (Perl 7 を作成する必要性に誰もが同意しているわけではありません)。
- コミュニティの文化と Perl の安定性に対する姿勢は根本的に変わります。
- Perl 7 は根本的に新しいものを何も導入していないのに、既存のコードと互換性がないという批判により、この言語の信頼性は損なわれるだろう。
悪影響を軽減するために、ダン・ブックは互換性の喪失を回避する計画を提案しました。以前の開発プロセスを維持し、5.34.0 の代わりに次のリリース番号 7.0.0 を割り当て、間接オブジェクト呼び出し表記のサポートを無効にし、try/catch などのいくつかの新機能を有効にすることが提案されています。 「use strict」や「use warnings」などの変更は、「use v7」プラグマを介してコード内の Perl バージョンを明示的に指定することによって制御することが提案されています (strict は、「use v5.12」以降のリリースではデフォルトで既に有効になっています)。
デフォルトでは、以前使用されていたレガシー構文をクリーンアップする標準プロセスを除いて、インタープリタは Perl 5 と変わらないパラメータ セットを保持することをお勧めします。古い機能や非推奨の構文のサポートは、既存の非推奨ルールに従って引き続き中止される可能性があります。コード内で新しい Perl 7 要素の使用を通知し、新しいスタイルと古いスタイルを区別するために、「use v7」プラグマを使用することが提案されています。
出所: オープンネット.ru
