スタート Perl 6
はじめに
この記事は、 Perl6 Advent Calendar 2011 (日本版)の1日目の記事です。
Perl 6 をはじめよう
Perl 6 は、オブジェクト指向スクリプト言語の一つです。2000年に Perl の次期メジャーバージョンとして設計が始められましたが、現在までの Perl (〜 Perl 5 ) とは互換性がないため、今では Perl (〜 Perl 5 ) とは異なる系統のものとして位置づけられています。ですので、 Perl 5 のユーザが Perl 6 を学ばなければならない、ということはありません。
Perl 6 は設計開始から11年になりますが、未だ完成されていません。 Perl 6 を実行するための環境が現在、いくつか開発されています。
Pugs
Pugs は Haskell で実装されたインタプリタとコンパイラです。 Pugs については、 http://hackage.haskell.org/package/Pugs から入手できます。
Rakudo
Rakudo は元々、 Perl 6 on Parrot と呼ばれたプロジェクトから生まれたもので、開発中の Perl 6 実装の一つです。 Rakudo は2010年の7月に Rakudo Star と呼ばれるアーリーアダプター向けの(これまで以上に)実用的な実装をリリースし、その後定期的に新しいバージョンをリリースしています。現在入手可能な Rakudo Star のパッケージは https://github.com/rakudo/star/downloads/ にあります。より最新のものを入手したい場合は https://github.com/rakudo/rakudo からソースを手に入れてビルドするのがよいでしょう。
Niecza
Niecza は、 .NET 環境で使える Perl 6 の実装です。 Niecza は Rakudo Star ではまだ実装されていないいくつかの機能を使うことができますが、逆に Rakudo Star では実装されているいくつかの機能はまだ使えません。 .exe で提供される Perl 6 としては Rakudo Star (2011/04) か Niecza のどちらかになるでしょう。 Niecza のパッケージは https://github.com/sorear/niecza/downloads から入手できます。
どれを使えば良いか
これは環境と好みに寄るところが大きいと思います。それぞれ実装済みの実装がバラバラですし、インストールに必要な環境も異なります。好きなものを試してみるのが良いと思います。ちなみに私は Rakudo Star を使っています。
Perl 6 を試してみる
実際に Perl 6 のコードを書くにあたって、色々と情報が必要になるかと思います。そこで参考になりそうなサイトをいくつか列挙しておきます。
Perl 6 Advent Calendar | Something cool about Perl 6 every day
2009 年から毎年 Advent Calendar が実施されているので既に50以上の記事があがっています。もちろん今年もあります。
JPerl Advent Calendar 2010 Perl6 Trac
昨年実施された日本語の Perl 6 Advent Calendar 。こちらは13日分しか記事がありませんが、入門としては一番やさしいと思います。
UsingPerl6-draft
Rakudo Star のパッケージに同梱されている PDF です。英語ですが比較的読みやすいので英語が苦手な方にもお勧めです。
http://d.hatena.ne.jp/uasi/searchdiary?word=%2A%5BPerl6%5D
日本語で Perl 6 の記事がたくさん読めるブログ。コードもたくさん掲載されているので参考にしやすいと思います。
http://perlcabal.org/syn/
Perl 6 の公式な仕様一覧。仕様であって、各実装でその通りに動くことが保証されているわけではありませんが、迷ったらここの情報が一番正確です。ただし、情報量が多いので欲しい情報を探すのは簡単ではありません。