目に見える進歩はありますか?今はただの学問的な練習ですか?Perl は Perl 6 の有無にかかわらず進化し続けると思いますか、それともすぐに忘れ去られると思いますか?
13 に答える
Perlのファンのように聞こえるリスクがありますが、私はまだPerl 6に興奮しており、リリースされたときに最終結果が適切になると感じています。過去9か月で、オウムの前線()でいくつかの素晴らしい成果が得られ、開発の増加に資金を提供するためにかなりの寄付が行われることさえありました。
最近のブログ投稿から:
Rakudoは現在、配列、ハッシュ、クラス、オブジェクト、継承、ロール、番号付けタイプ、サブセットタイプ、ロール構成、マルチメソッドディスパッチ、タイプチェック、基本I / O、名前付き正規表現、文法、オプションパラメーター、名前付きパラメーター、slurpyパラメーターをサポートしています。クロージャ、スマートマッチ、ジャンクション、およびPerl6に期待される他の多くの機能。
Perl 6の進行中の開発プロセスに関するニュースについては、 Rakudo.org(RakudoはParrot上に構築されたPerl 6実装の名前です)に注目してください。
Perl 5 が並行して開発されていることを忘れてはなりません。5.10は、言語への新機能と追加機能を備えた、それほど前のことではありませんでした。
Perl 6 の進捗はゆっくりですが着実です。PUGS (Haskell 上の Perl 6) はしばらく停滞していますが、Audrey はすぐに作業を再開する可能性があります。その間、Rakudo (Perl 6 over parrot) は順調に進んでいます。これは、さまざまな実装の進行状況を詳述した投稿です
現実的には、私はそれのために息を止めませんが、それがどんなに遅くなっても、それが出てきたとき、それはまだ関連があると思います.
Perl 6はゆっくりと、しかし着実に進化しています。Larry Wallは、私たちが知っているすべてのPerl 6を解析できるパーサーを作成しました(これは基本的にテストスイートとその他のコードです)。ParrotのPerl6であるRakudoもうまく機能します。rakudo.deのチャートを使用して、テストスイートで進行状況を追跡できます。
これは根本的に新しい言語であり、実装するのは簡単ではないことに注意してください。来年までに使用可能なバージョンは期待していません。それでも、実装が今日のPerl 5(安定したコードベースの開発に20年かかった)のように成熟するまでにはかなりの時間がかかります。
目に見える進歩がたくさんあります。Chromaticは毎週の Parrot/Perl 6 電話会議の議事録をUse.perlとrakudo.orgに毎週投稿します。Jonathan Worthington のジャーナル、Patrick Michaud のジャーナル、またはさまざまな Perl 6 メーリング リストを読むことができます。Mortiz 氏が指摘するよう に、テスト スイートの毎日の状態を確認できます。
最近の開発には、Larry Wall による完全な文法を指定する作業の仕上げ、Rakudo 開発者によるコンパイル済みモジュールのサポートの追加、Jonathan によるマルチレベル ディスパッチ作業が含まれます。
進行状況を追跡するのは確かに簡単ですが、おそらく、Google を使用して簡単に調べることができることはすでにご存じでした (「perl6 の進行状況」は、優れたリソースにつながります)。おそらく、別の質問があったか、それともスズメバチの巣を蹴りたいだけですか?
最新情報については、公式の Perl 6 Wiki を参照してください。
http://www.perlfoundation.org/perl6/index.cgi?perl_6
2 つの主要な Perl 6 ブログの最新の見出しが、公式の Perl 6 wiki ホームページの下部に表示されます。
他にも役立つ情報やリンクがたくさんあります。
たとえば、最近の Perl 6 の記事とプレゼンテーション:
http://www.perlfoundation.org/perl6/index.cgi?perl_6_articles_and_presentations
動的言語用の Parrot VM (Rakudo/Perl 6 で使用) には、公式 wiki もあります。
http://www.perlfoundation.org/parrot/index.cgi?parrot
Parrot は多言語対応であるため、Perl 6 は他の Parrot 言語で記述されたモジュールを呼び出すことができ、他の Parrot 言語は Parrot 用にコンパイルされた Perl 6 モジュールを呼び出すことができます。
リファレンス実装によって定義される Perl 5 とは異なり、Perl 6 はそのテスト スイートによって定義されます。したがって、最終的には、Parrot VM で実行されない他のバージョンの Perl 6 が存在することになります。
Perl 5 はまだ進化しています。Perl 5.10 は最近の主要なリリースであり、(他の多くの改良点の中でも) Perl 6 関連の機能もいくつかありました。Perl 5.12 は活発に開発されています (Perl 5.11 として)。
Perl 5.12 は、Perl 6 の呼び出し (および Perl 6 によって呼び出される) をサポートします。Perl 6 は、Perl 5 コードの大部分をコンパイルできるはずです。これは主要な優先事項です。
最新情報については、公式の Perl 5 Wiki を参照してください。
Perl 6 は順調に進んでいます。Perl 6 は、実際には実装ではなく言語仕様であるという点で、以前の Perl とは少し異なります。Perl 6 プロジェクトの主力である Parrot 上のリファレンス実装は Rakudo と改名され、順調に進んでいます。それに関するニュースを見つけるのに最適な場所はhttp://planetsix.perl.org/です。現在、私が理解している限り、言語の重要な機能のほとんどが実装されており、残りの部分を肉付けしてテストを書いています。ダウンロードして、少しテストできます。最も簡単な方法は、バンドルされて cygwin パッケージになっている cygwin バージョンのようです。
他の言語を parrot vm にターゲットにする機能により、使い慣れた言語を使用して製品を作成することが簡単になります。
最近活動した、または少なくとも最新の parrot でテストされた言語のリスト (2008/09/22 現在):
languages/LANGUAGES_STATUS.podから取得
- APL
- bf
- カーディナル (ルビー)
- おしゃべり (Smalltalk)
- コーラ (ジャワ)
- Common Lisp
- エクレクタス(スキーム)
- ECMAスクリプト
- HQ9+
- じゃこ(C/Perl)
- JSON
- 怠け者
- ロルコード
- ルア
- オウムm4
- マークダウン
- NQP (あまり Perl ではない)
- 落道
- Pheme (Scheme に触発された Lisp-2 コンパイラ)
- Pipp (Pipp は Parrot の PHP です)
- PJS (ウィキ)
- ぷに(Perl1)
- 正規表現
- Squaak (Squaak は Squeak ではありません)
- パーツクル (TCL)
- アンラムダ
- WMLScript トランスレータ
Six が実現しなくても、Perl 5 は引き続き素晴らしく、利用可能です。Perl 5 が元気を取り戻した 6 つ、Perl 5 は Moose など、多くの素晴らしい新しいことを経験し続けています。
Perl 6 はいつか完成してうまくいくと思いますが、今のところ私は Fiver であり、そのように喜んでいます。
2005 年まで始まっていなかったというコメントに対して... Parrot を Perl6 と見なすかどうかによると思います。元のチームはそうしましたが、「Perl6 言語」の人々からは何年も同意を得られませんでした。
私たちは 2000 年から 2004 年にかけて Parrot で実際の作業を行っていましたが、VM の基礎の多くはそこにありました。2002 年までには、継続、コルーチン、JIT、中間コンパイラ、および Parrot の PIR で書かれた BASIC インタープリターを含む、Perl6 以外の 12 の言語がありました。それまでには、並行性の高い言語を除いて、世界中のほぼすべての種類の言語をコンパイルして実行することができ、実装プラットフォームとしての Perl6 のニーズをはるかに超えていました。
VM自体は何年も機能しています。言語としての Perl6 は、解析が非常に複雑な獣であるため、別の話です。それはオウムには反映されていません。これは単に Perl の文化を反映したものであり、他のスクリプト言語の台頭が加速し、Perl5 が衰退し、かつて新しいシステムの実装に Perl5 を選択した人々が Ruby、Python、Groovy、Java や Java などの言語に移行した理由です。 C# は、ランタイム ディスパッチにリフレクションを多用する進化したフレームワークです。
私が Perl を愛しているのと同じように、言語の実装が非常に難しく、製品品質のコンパイラを 10 年以内に作成できない場合、何かが間違っています! C++ は解析が容易で、Per6 よりもわずかな時間で実装されました。それは私たちに何かを教えてくれるはずです。Derek Jones は、ブログ「The Shape of Code」で、C++ は「大きすぎてつぶせない」ようになった可能性があると書いています ( http://shape-of-code.coding-guidelines.com/2008/12/c-goes-for-失敗するには大きすぎる/ )。C++ は、大きくなる前に最初に成功したので、それを行う余裕があります。Perl6 は「大きすぎて成功しない」かもしれません。これは、典型的な貢献者の注目期間がおそらく 10 年ではなく、おそらく 2 ~ 3 年であるという事実のために、プロジェクトが貢献者を維持するのに苦労するほど壮大な範囲だったからです。
私は、Perl 6 からいくつかの良いことが起こるかもしれないと感じています (例えばオウム)。
私が所属するバイオインフォマティクス開発グループでは、以前は Perl が最適な言語であった新しい開発に Python を使用することを奨励しています。Python は、私たちにとってより良い道筋を提供してくれるようです。
遅くて遅い。それは、第 2 のシステムの病気の末期のケースを持っています。私が Perl ハッカーだったとき (当時)、彼らは Perl 6 に 2 年間取り組んでいました。それは6年前のことです。その時間でオペレーティング システム全体を構築できます。
クリスマスまでに出します。;-) ポッドキャストで、今年のクリスマス前に何らかのアルファ版があると聞いた. 彼らはそれについて明確に述べていましたが、私がそれを聞いてからしばらく経ちました。