導入
| パール6 | |
![]() | |
| に登場 | 仕様:2001年~2010年、ラクドスターによる部分実装 |
|---|---|
| 著者 | ラリー・ウォール |
| 開発者 | Perl財団 |
| パラダイム | オブジェクト、命令型、関数型、動的 |
| タイピング | 力強く、ダイナミックに |
| 影響を受けた | Perl、 Haskell 、APL、 Ruby 、Python、 SmallTalk 、Self |
| 実装 | パグ、オウム |
| オペレーティング·システム | マルチプラットフォーム |
| Webサイト | http://dev.perl.org/perl6 |
Perl 6 は、 Perl プログラミング言語を完全に見直したものです。
この再設計により、プログラマに大きな自由を与え、簡潔な表現を可能にする言語の精神が維持されています。
Perl 6 は依然として汎用言語であり、単一行のプログラミングが可能ですが、大規模なプログラムの作成に対するサポートが大幅に向上しています。
ドキュメント言語である軽量マークアップ言語である Pod が改良され、より適切に統合され、読み書き可能なプログラミングが可能になりました。 Rokudo Star と呼ばれる Perl 6 の最初の軽量バージョンが 2010 年 7 月 29 日にリリースされました。Perl 6 のロゴは Camelia と呼ばれます。これは蝶です。片方の羽には P、もう一方の羽には 6 が読み取れます。
Perl 6 には Perl 5 との下位互換性という主な目的はありませんが、互換性モードがあり、既存の CPAN パッケージからモジュールを呼び出す可能性があります。
この言語では、特に APL 言語の動的配列操作演算子に似たハイパー演算子のサポートにより、非常に簡潔なプログラムを作成できます。これは、プログラムの一部の実行を並列化できるようにする具象構文の側面の 1 つです。
この言語は複雑ですが、言語の限定されたサブセットでプログラミングすることは可能です。他の言語では通常ソフトウェア ライブラリに属する機能が多数含まれています。したがって、正規表現システムは完全に見直され、トレースバックの非常に細かい制御のおかげで、強力で高速な構文解析エンジンも構成されています。
オブジェクト システムに完全に統合されています。
Perl 5 では最小限に抑えられたオブジェクト システムは、複数のディスパッチ、ロール、リフレクションをサポートするようになりました。
プログラマはメタクラスのデフォルトの動作を変更したり、メソッドやマルチメソッドにメカニズムをディスパッチしたりできるため、プロトタイプ指向プログラミングとオブジェクト指向プログラミングの両方が可能です。ロールはミックスインに似たコード構成システムですが、クラスよりも粒度が低くなります。
Perl 6 の設計者は、参照サポートの追加により Perl 5 では特に重くなっていた言語の構文に特に注意を払いました。言語設計の指針となる原則は、ハフマンの原則、可読性、拡張性です。言語の各側面は、副詞または修飾子と呼ばれる語彙的または構文的な構築を通じて高度に構成可能です。一部の演算子はUnicode文字ですが、多くの場合、より詳細な ASCII エイリアスが使用できます。他の高レベル動的言語のライブラリとの相互運用性は、これらの言語が同じエンジン (Pugs または Parrot) で実装されているため、長期的な目標となっています。
変数の内容の明示的な型指定はオプションです。したがって、データ型指定は、明示的または推論されている場合は静的であり、それ以外の場合は動的です。
したがって、プログラマは、スクリプト言語に典型的な緩やかなプログラミングと、静的型付け言語の直接性およびパフォーマンスの間の連続性を持ちます。通常、プログラムは時間の経過とともに「より厳密な」タイピングを目指して進化します。
Perl 6 は、静的型付け、並列化のサポートに加えて、その実装がネイティブ コードへのオンザフライ コンパイルをサポートしているため、高速な言語である必要があります。


