| ホーム > Perlニュースレター > バックナンバー > 第11号 | ||||||
|
|
Perlニュースレター 第11号 (2000年12月20日)
----------------------------------------------------------------------
Perlニュースレター 第11号 (2000年12月20日発行)
http://www.context.co.jp/perlnews/ 発行部数 5176部
----------------------------------------------------------------------
▼このメールはお申し込みいただいたアドレス(cond@context.co.jp)
に無料でお届けしているものです。
▼以下のページで配送中止の手続きができます。
http://www.context.co.jp/perlnews/
======================================================================
◆◆ 目 次 ◆◆
◇ Larry Wall氏インタビュー
◇ 最新バージョン情報
◇ 編集後記
======================================================================
■■ Larry Wall氏インタビュー
======================================================================
Perlニュースレターでは、京都で開催されたPerl/Rubyカンファレンス(11/29〜
12/1)のために来日したLarry Wall氏にインタビューを行ないました。これか
ら2回にわたってそのインタビューの内容をお届けいたします。(聞き手: 近
藤 嘉雪)
●Perl 5.6のUnicodeサポートについて
Perlニュースレター(以下PNL): 今年は、Perlの世界では、Perl 5.6のリリー
ス、Perl 6開発プロジェクトのスタート、Programming Perl(いわゆるCamel
Book)第3版の発売という3つの大きなイベントがありました。これらについて
順にお話を聞かせていただきたいと思います。まず、Perl 5.6についてです。
Perl 5.6では、新機能の目玉としてUnicodeのサポートが行なわれていますが、
まだ機能や実装が完全ではないようですね。
Larry Wall氏(以下L): Perl 5.6の段階では、Unicode関連のコアの部分――
内部的な仕組み――はすでに完成しています。しかし、外部から見える部分――
外部とのインタフェースに当たる部分――には未完成のところがあります。例
えば、ファイルや外部から入出力を行なう際に、外部文字コードと内部文字コー
ド(utf8)との変換をトランスペアレントに行なうための仕組みがまだ実装さ
れていません。現在、不足している機能の実装を進めています。Unicodeサポー
トがより充実したバージョンが、近い将来にリリースされるでしょう。
PNL: それはバージョン5.6.1になるのでしょうか、それとも5.8.0になるので
しょうか?
L: バージョン5.6.1になります。
●Perl 6について
PNL: 今年(2000年)7月に開催されたPerl Conference 4(米国カリフォルニ
ア州Montrey)の基調講演では、Perl 6の開発をスタートすることを発表なさ
いましたね。Perl 6の概略についてお聞かせいただけますか。
L: Perl 6では、内部、外部ともに全面的に見直しを行ないます。まず内部で
すが、コードを全面的に書き直します。また、外部――つまり言語の仕様につ
いても、徹底的に見直しを行ないます。
PNL: 言語の仕様を見直すということですが、Perl 5とPerl 6とでは、ソース
プログラムの互換性が保たれるのでしょうか?
L: まず過去についてお話ししましょう。Perlのバージョン1からバージョン5
までは、互換性を保つように言語仕様を拡張してきました。もちろん、部分的
には非互換なところがあり、以前のバージョンのソースに若干手を加えなけれ
ばならない場合もあります。しかし、ほとんどの場合、従来のスクリプトはそ
のまま新しいバージョンのPerlインタープリタで実行できます。
これに対して、バージョン6では、正当な理由があれば、互換性を犠牲にする
ような変更も行なうという方針です。その代わりに、Perl 5からPerl 6への
「明確な移行パス(clear migration path)」を用意します。実際には、Perl
5用のスクリプトの多くは、手を加えずにそのままPerl 6でも実行できるでしょ
う。また、Perl 5のスクリプトをPerl 6用に変換するトランスレータも用意し
ます。
●Perl 6の開発スケジュール
PNL: 発表されたスケジュールによると、来年の夏にはプレビューリリースが
公開されることになっています。Perl処理系の規模と複雑さを考えると、かな
りタイトなスケジュールではないでしょうか?
L: プレビューリリースでは、コアとなる「エンジン部分」が動くことを目標
としています。Perl処理系として使えるような「ベータバージョン」のレベル
に達するには、1年半あるいは2年くらいかかるだろうと考えています。もちろ
ん、スケジュールについて確約はできませんが、だいたいそのくらいはかかる
だろうと見込んでいる、ということです。
現時点での進行状況ですが、Perl 6で盛り込むべき機能についての提案(RFC:
Request For Comments)の受け付けを10月1日に締め切りました。全部で361個
の提案が寄せられました。あと4個でちょうど1年分(365日)になったのです
が(笑)。現在、これらの提案をもとに、仕様を検討しているところです。
PNL: Perl 6の開発がスタートした、ということは、Perl 5系列は5.6.Xで打ち
止めになってしまうのでしょうか?
L: いいえ。先ほどお話ししたように、Perl 6が安定するまでにはかなりの時
間がかかるでしょう。ですから、引き続き並行して、Perl 5系列の開発も進め
ていきます。現在、Perl 5系列の開発版は5.7.0です。このバージョンは、将
来、バージョン5.8.0としてリリースされることになります。
●Perlコンパイラについて
PNL: ここで少し話題を変えて、コンパイラについて質問させてください。
Perl 5ではコンパイラがサポートされていますが、バージョン5.6でもまだ
experimental(実験的)な機能とされています。Perlは数値と文字列を区別せ
ずに扱うために、コンパイラが効率の良いコードを生成するのは難しいと思い
ます。しかしその一方では、Perlで書いたプログラムをコンパイルして(=マ
シン語に変換して)、高速に実行したいというニーズは大きいといえます。
Perl 6では、コンパイラのサポートはどうなるのでしょうか。
L: Perlは強く型付けされた言語(strongly-typed language)ではありません。
つまり、変数には、さまざまなデータ型――例えば、数値、文字列、リファレ
ンス――を代入することができます。このような柔軟性はPerlの大きな特徴で
すが、その反面、コンパイラにとっては、効率の良いコードを生成することが
難しくなります。
Perl 6では、変数に対して型宣言をできるようになります。つまり、この変数
は数値型であるとか、文字列型である、などと宣言できるようになるのです。
コンパイラは、このような型情報をもとに、効率の良いコードを生成できるよ
うになります。
ここで注意してほしいのは、型宣言が必須ではない、ということです。Perl 6
でも、Perl 5までのように、型宣言をせずに変数を使うことができます。型宣
言は、コンパイラに対して(良いコードを生成するための)ヒントを与えるも
の、と考えてください。変数の型を明示的に宣言しておけば、スクリプトをコ
ンパイルした際により高速なコードが得られる、というわけです。
●Programming Perlの第3版について
PNL: 今年の7月に、Perl 5.6に対応したProgramming Perl(「ラクダ本」)の
第3版が出版されましたね。かなりページ数が増えて、1000ページを超えまし
た。Larryさんは、そのうちどのくらいを執筆なさったのでしょうか?
L: 第2版よりも薄い紙を使っているので、見かけはあまり厚くなっていないん
ですが、ページ数はかなり増えています(笑)。共著者のあいだで分担を決め
るのではなく、Tom Christiansenさんが材料を集め、私が仕上げをするといっ
た流れで「パイプライン式」に執筆を行ないました。ですから、全体にわたっ
て私の手が入っています。
PNL: でも本当に部厚いですね。私(近藤)がいま翻訳をしているのですが、
なかなか終わりません(笑)。Perl 6になったら、もっと部厚くなるんでしょ
うか?
L: たぶんPerl 6用のCamel bookは、百科辞典のように、たくさんの分冊から
構成されるようになるでしょう(笑)【と言いながら、手で50cmくらいの厚さ
を示す】
《次号に続く》
======================================================================
■■ 最新バージョン情報 2000年12月20日現在
======================================================================
このコーナーでは、Perl処理系とユーティリティの最新バージョンと
その入手先を紹介します。
行頭に?が付いてる部分は、今回更新された情報です。
行頭に+が付いている部分は新規に追加された情報です。
----------------------------------------------------------------------
●perl●
2000年3月23日にPerl 5.6がリリースされました。しばらくの間は、 Perl
5.005とPerl 5.6の情報を提供していきます。
◇perl5.005
最新バージョンは5.005_03です。
▼perl 5.005_03の入手先
http://www.perl.com/CPAN/src/perl5.005_03.tar.gz
◇perl 5.6
最新バージョンは5.6.0です(3月23日リリース)
▼perl 5.6.0の入手先
http://www.perl.com/CPAN/src/perl-5.6.0.tar.gz
●jperl●
jperlは、perlを日本語対応にするためのパッチです。最新バージョンは
jperl5.005_03-20000401.pat.gzです。
▼jperl5.005_03-20000401.pat.gzの入手先
http://www.perl.com/CPAN/authors/Hirofumi_Watanabe/jperl5.005_03-20000401.pat.gz
●Windows版●
◇ActivePerl
ActivePerlは、ActiveStateによるWin32(Windows 95/98/NT/2000)
? 用のperlです。フリーで入手できます。最新バージョンはBuild 623
で、5.6.0をベースにしています。バイナリ(とソース)が配布され
ています。また、Perl 5.005_03ベースのBuild 522も公開されていま
す。
? ▼ActivePerlの入手先(Build 522も623もここから入手可能)
http://www.activestate.com/Products/ActivePerl/Download.html
▼ActiveState
http://www.activestate.com/
◇jperl for MS-Windows
ActivePerlにjperlパッチを組み込んで日本語対応にしたものです。
最新バージョンはjperl522で、ActivePerl Build 522と
jperl5.005_03-990822.pat.gzをベースにしています。バイナリ(と
ソース)が配布されています。
▼jperl522の入手先
http://www.shonanblue.ne.jp/~kipp/perl/jperl/
●Macintosh版●
◇MacPerl
Macintosh用のperlです。最新バージョンはMacPerl 5.20r4で、
5.004_04をベースにしています。バイナリ(とソース)が配布されて
います。
▼MacPerl 5.20r4の入手先
http://www.perl.com/CPAN/ports/mac/Mac_Perl_520r4_appl.bin
▼MacPerlに関する情報
http://www.perl.com/CPAN/ports/index.html#mac
◇MacJPerl(日本語版)
Macintosh用の日本語対応のperlです。最新バージョンはMacJPerl
5.2.0r4 J1です。MacPerl 5.20r4(5.004_04ベース)と
jper5.004_04-980303.patをベースにしています。バイナリが配布さ
れています。
▼MacJPerl 5.2.0r4 J1の入手先
http://world.std.com/~habilis/macjperl/MacJP5.j.htm
●日本語のコード変換ユーティリティ●
◇jcode.pl
日本語のコード変換を行うためのライブラリです(Perl 4でもPerl 5でも
使えます)。最新バージョンは2.13です。
▼jcode.pl 2.13の入手先
ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/jcode.pl-2.13
▼jcode.plの変更履歴
ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/jcode.pl-history
▼jcode.pl の私的な解説書
http://ina.kappe.co.jp/~sabre/kcode/jcode.html
◇Jcode.pm
日本語のコード変換を行うためのモジュールです(Perl 5専用です。
? Perl4では使えません)。最新バージョンは0.65です。
▼Jcode.pmの入手先
? http://www.perl.com/CPAN/authors/id/D/DA/DANKOGAI/Jcode-0.65.tar.gz
●その他●
Perlニュースレターの発行者(近藤 嘉雪)による、Perlに関する情報をま
とめたページです。「Perlプログラミング」「初めてのPerl」に関する情報
もあります。ぜひお立ち寄りください。
▼Perl情報メモ
http://www.context.co.jp/perlinfo/
======================================================================
■■ 講習会開催のお知らせ
======================================================================
有限会社コンテキストでは、2001年1月24日に講習会「PerlによるCGIプログラ
ミング」を開催いたします。
「Perlニュースレター」の執筆者である近藤嘉雪が講師を務めます。開催地は
東京・渋谷で、1日のコースとなります。詳細については、下記のページをご
覧ください。お申し込みも、このページから行なうことができます。
▼Perlトレーニングコースのページ
http://www.context.co.jp/training/
======================================================================
■■ 編集後記
----------------------------------------------------------------------
▼第12号は、2001年1月10日頃発行の予定です。
▼第12号では、Larry Wall氏インタビューの後半を掲載する予定です。ご期待
ください。
近藤 嘉雪 (cond@context.co.jp)
======================================================================
Perlニュースレター 第11号 (2000年12月20日発行)
主筆:-) 近藤 嘉雪
発行元 有限会社コンテキスト(http://www.context.co.jp/)
▼バックナンバーは: http://www.context.co.jp/perlnews/bn/
▼配信申込/配信中止は: http://www.context.co.jp/perlnews/
▼ご意見・ご感想・お問い合わせは:
mailto:perlnews@context.co.jp
======================================================================
Copyright 2000 (有)コンテキスト, All rights reserved.
「Perlニュースレター」に掲載された記事を許可なく転載することを禁じます。
======================================================================
|
|||||