これはMoritz Lenz氏のWebサイトPerlgeek.deで公開されているブログ記事"Perl 5 to 6" - Introductionの日本語訳です。
原文はCreative Commons Attribution 3.0 Germanyに基づいて公開されています。
本エントリにはCreative Commons Attribution 3.0 Unportedを適用します。
Original text: Copyright© 2008-2010 Moritz Lenz
Japanese translation: Copyright© 2011 SATOH Koichi
NAME
"Perl 5 to 6" - イントロダクション
SYNOPSIS
Perl6を学ぶ (もし既にPerl5を知っているなら)
Perl6の愛で方を学ぶ
理由を知る
DESCRIPTION
Perl6は十分にドキュメント化されていません。(仕様書を別にすれば)コンパイラを書くことの方がユーザ向けのドキュメントを用意することより急を要すると思われていることを鑑みれば、これは驚くべきことではありません。
残念なことですが、つまりこれはPerl6を学ぶことが容易とは言えないということで、仕様書やらIRCやらテストスイートからPerl6を学ぼうとする動機を見つけるくらいの強い関心がないと駄目だということです。
筆者が"Perl 5 to 6"(良い名前がない)と呼ぶことにしたこのプロジェクトは、短い記事の連載でこのギャップを埋めることを目的にしています。
それぞれのレッスンはかなりテーマを絞り、短い例を使って2、3の最も重要な点を説明しようと思います。また、何故Perl5と6で物事が変わったのか、何故それが重要なのかも説明します。レッスンを読めば、Synopsis(Perl6の英知すべての規範的なソースです)を基本的に理解するのに十分な知識が得られるようにしたいと思います。
読み易さを維持するために、各レッスンは200行ないし1000語(訳注:原文基準)を越えないものとします(ただしこれは緩い制限です)。
恐らくレッスンはプログラミング言語を学ぶには短過ぎるでしょうが、言語設計の輪郭を描き出し、言語を学ばずともその美しさが感じられるようにしたいと思います。
IT'S NOT
これはPerl5プログラムのPerl6移行ガイドではありません。差異の包括的なリストでもありません。もしそのようなものを探しているなら、Perl6::Perl5::Differencesを見て下さい。
また現在の実装ではなく、仕様上の言語向けに書いています。
ROADMAP
既に書かれたか、準備中のもの:
- イントロダクション
- 文字列、配列、ハッシュ
- 型
- 制御構造
- サブルーチンとシグネチャ
- オブジェクトとクラス
- コンテキスト
- ルール(正規表現)
- ジャンクション
- 比較とスマートマッチ
- コンテナとバインディング
- 基本的な演算
- 遅延性 (-)
- カスタム演算子 (-)
- MAINサブルーチン
- ツイジル(Twigils)
- 列挙
- Unicode (-)
- スコープ
- もっと正規表現
- XML用の正規表現
- サブセット型
- 実装の現状
- クォートと構文解析 (-)
- 縮約メタ演算子
- 交差メタ演算子
- 例外と制御例外
(Rakudoにほとんど、あるいは全く実装されていない機能には(-)が付いています)
書きたいと思っているが、筆者がまた十分に理解できていないこと:
- マクロ
- メタオブジェクトプログラミング
- 並列性
- IO
言及したいと思っているが、どこに入れるべきか迷っているもの:
- .perlメソッド
これらのレッスンが時代遅れにならないよう、時々更新していくつもりです。 (訳注: 翻訳もできるだけ追随しようと思います。更新されてなかったらコメントなどで連絡をば)
AUTHOR
Moritz Lenz, http://perlgeek.de/, moritz@faui2k3.org
LINKS
他のドキュメントがhttp://perl6.org/documentation/で公開されています。
コメント
コメントを投稿