28

Perl 6 の現在の状態は? 私たちは今どこに立っていますか?Perl 6 の現在の進捗状況に興味を持っているプログラマーはたくさんいます。

これについて、reddithttp://perlmonks.org/?node_id=835419で公開されている他の 2 つのトピックもあります。

4

4 に答える 4

23

まず、最も重要なことは、Planet Sixニュース アグリゲーターをフォローすることです。リード開発者とコミュニティの多くのメンバーによる Perl 6 の毎週のミーティングとブログが含まれており、Perl 6 の進捗状況を把握するのに最適な方法です。

Perl 6 の主要な実装である Rakudo Perl がどのように機能しているかを把握するには、 Perl 6 Advent Calendarをチェックしてください。毎日、Perl 6 のさまざまな側面と、Rakudo によって現在どの程度実装されているかを示しています。

更新 (2012 年 3 月): perl6.org の機能比較は、Rakudo と Niecza (.NET、Mono などの CLR ターゲット コンパイラ) の両方の実装の進捗状況を示しています。


Perl 6 は、仕様として、依然として継続的な改良とリファクタリングが行われています。仕様が不明確な例: オブジェクト階層、コア ライブラリに含める必要があるものと含めないもの、日付処理、遅延、ジャンクションの「自動スレッド化」。しかし、言語の大部分は完成しています。この仕様は非常に野心的であり、Perl 6 の開発に時間がかかった主な理由の 1 つは私見です。

実装に関しては、主要なプロジェクトは Parrot VM の上に構築された Rakudo Perl 6 です。おそらく十数人の熱心な開発者がいて、テスト、ライブラリ、コード、およびドキュメントの作成を支援しているさらに多くの開発者がいます。ほとんどの開発作業は、Perl Foundation とコミュニティからの助成金によって資金提供されているため、衰退することを期待する理由はありません。

Rakudo には多くのバグがあり、不足している機能がたくさんあります。それはつい最近、大規模なリファクタリング ('ng' ブランチ) を経たばかりです。既存の Perl 6 ソースを参照すると、「Rakudobug」または「Rakudo はまだこれを実装していません...」というコメントがたくさん見つかります。

とはいえ、これはRakudoの不公平なイメージを描いています。Perl 6 の仕様は控えめに言っても野心的です。この言語には非常に多くの機能があり、実装が今日のレベルに達するまでに何年もの開発が必要です。Rakudo は確かに、人々がテキスト ベースのゲーム、Wiki、その他の Web アプリケーションを作成するのに十分な完成度であり、日々改善されています。開発者はこれまでに Perl 6 向けに約 40,000 の単体テストを作成しているため、実装の改善を容易に確認できます (Rakudo は現在、約 30,000 のテスト、またはテスト スイートの 79% に合格しています)。

Rakudo の最初の「使用可能な」(安定した) リリースは、「Rakudo Star」として知られています。現在、2010 年第 2 四半期 (4 月から 6 月) に予定されています。一般的なアイデアは、Perl 6 の大部分 (言語全体ではなく、その有用なサブセット) を実装し、バグを最小限に抑えることでした。製品版の準備に関しては、Perl 6 のリリース日は常に「クリスマス」でした。おそらく今年のクリスマスは、おそらく別の何かです。Perl 6 のすべてをバグなしで使用できるようになるまでには長い時間がかかりますが、少なくとも安定したリリースがすぐに見られるようになるでしょう。うまくいけば、Perl 6 の誇大宣伝はそこから雪だるま式になるでしょう。それは本当です。

Perl 6 に興味がある場合は、コミュニティに参加することを検討してください。私の経験からすると、とてもフレンドリーなコミュニティです (IRC でさえ、みんながどれだけ親切なのか気になります)。Rakudo をインストールして、壊してみて、バグを報告してください。テストケースを書きます。コア機能の実装を書き、モジュールを書きます。やることがたくさんあります!

于 2010-04-19T14:13:58.310 に答える
15

:元の回答の日付を確認してください。2020年4月の時点で、これはもはや当てはまりません。

Perl 6は、SO自身のスレッドによると、「本番対応」の最も一般的な定義を使用した本番対応ではありません。実装は安定しておらず、仕様の完全な機能が不足している可能性があります。

2008年現在の状況の詳細については、このSO回答を参照してください。言語仕様は安定しているようですが(少なくともリンクされた投稿のbrian d foyによると)、実装はまだありません。

特定の日付については、 2010年4月8日のこの投稿によると、「Rakudo Star 1.0」という名前の、最も先のPerl 6実装の最初のメジャーリリースであるRakudo(Parrot VM上)は、暫定的に2010年第2四半期を対象としています(当初の計画は2010年4月頃でしたが、リード開発者の個人的な事情により変更されました)。

もちろん、YMMV-私は人々がPerl 6の現在の状態よりも多くの安定性の低いコード/プロジェクト(彼ら自身が書いたものを含む)を本番環境で使用しているのを見てきました。しかし、私は個人的に、Perl 6がしばらくの間広くリリースされるまで、それを展開することを夢見始めませんでした。

ただし、非常に重要な点に注意してください。上記は、Perl 6がベーパーウェアであることや、学習すべきではないことを意味するものではありません。順調に進んでいるように聞こえるので、個人的に掘り下げていくつもりです(まあ、すでに感謝しています)事前に)少し安定したら使用する準備ができています。

さらに、Perl6の優れた機能の大部分がPerl5にバックポートされたことを追加したいと思います(5.10-5-12で、Perl6 ::モジュールを参照)。したがって、Perl6の学習に関する上記のポイントは非常に重要です。 Perl6自体をすぐに展開する計画がない場合でも関連性があります。

于 2010-04-19T10:10:54.967 に答える
10

Perl 6 は数日前、今年のクリスマス 2015 に正式にリリースされたばかりです。2 つの非常に重要なことが実際にリリースされました。

最初に、そして最も重要なこととして、現在は安定している公式の言語仕様である Perl 6.c (c はクリスマス) がリリースされました。この仕様は、Perl 6 Roast (Repository of All Spec Tests) として知られる 120,000 以上のテストのスイートであり、Githubのperl6 / roastあります

次に、Rakudo として知られる Perl 6 の実装の新しいバージョンがリリースされました。Rakudo は、MoarVM および JVM 仮想マシン上で動作する Perl 6 コンパイラです。Rakudo のこの新しいバージョンは、6.c 言語仕様をターゲットにしており、いくつかの主要なアーキテクチャですべてのテストに合格しています。リリースの詳細については、rakudo/rakudo の Github を参照してください。特に、rakudo/rakudo/blob/nom/docs/announce/2015.12.md の 2015.12 アナウンスを参照してください。

Rakudo のインストールはかなり簡単です。個人的には、Rakudo インストール マネージャーである rakudobrew を使用することをお勧めします。https://github.com/tadzik/rakudobrewの手順に従ってください。Rakudo と MoarVM のインストールに加えて、Perl 6 モジュール インストーラーである Panda もインストールできます。

長年の Perl 5 および Python ソフトウェア開発者として、Perl 6 は、既存の動的言語で見つけた多くの問題を解決する、非常に強力で奥の深い言語に見えると言わざるを得ません。Rakudo の発表から直接引用するには:

  • 表現力、仕事の遂行、自然言語からの影響の取得、言語設計の限界の押し上げなど、Perl のコア バリューを保持します。
  • 使い慣れた構造に根ざしたクリーンでモダンな構文を持ちますが、それを必要とするものを再訪して修正します。
  • 真のマルチパラダイムであり、洗練されたオブジェクト指向、関数型、手続き型、および並行プログラミングを可能にします
  • (NativeCall を使用して) C/C++ を簡単に呼び出し、(Inline::Perl5 を介して) Perl 5 との互換性を維持できる、優れたグルー言語として機能します。
  • 非同期データと並列計算を操作するための構成可能な構造を提供します
  • Perl 6 自体を解析するのに十分強力な完全な文法にスケールアップする、正規表現構文の新しい標準を劇的に改革し、設定します。
  • 文字列が書記素レベルで機能する優れた Unicode サポートを備えています
  • レキシカルスコープとカプセル化を重視し、簡単なリファクタリングを可能にします
  • メタオブジェクト プログラミング、ユーザー定義の演算子、および特性によって拡張可能

Perl 6 について知りたい情報はすべてhttp://perl6.org/にあります。

于 2015-12-29T23:50:31.147 に答える
2

本日LeonTimmermansによって投稿された、Perl6で出てくる違いのいくつかについての興味深いブログ。Perl6が異なる
理由 これらの違いがいつ出てくるかについてはあまり話されていません。

于 2010-04-20T17:19:32.943 に答える