1.プログラム プログラム名: Language Update Rerl 発表者: 小飼 弾 記録者: 塩月 海鈴 2.時間* 開始時刻 10時5分 終了時刻 10時35分 所要時間 30分 3.発表の概要、論点 (1)Perlの現在、過去、未来 (2)Perl 5.8 スクリプト界最強の Unicode Support スクリプト界最強の 文字コードサポート (via Encode) Kiss Jperl good-bye PerlIO 標準モジュールの大幅増強 基本的に外部依存なしに CPAN を使うため libnet, Time::HiRes... (3)Perl 5.8.1 さらなるBugfix 特に Unicode まわり use encoding "shiftjis"; # 今度は大丈夫! MacOS X 10.3 に標準搭載(?) 弾、蒼くなる (4)Ponie == Perl 5.10 on Parrot Parrot スクリプト言語のためのVM 4. 発表の流れ、内容 ・Perlの歴史 Perl5.8.1 一番最初のPerlが出たのは1987年。意外と古くは無い。それから7年ほどして現在のメインラインの perl5が発表された。他のものより長く使われている。 大体の歴史を 踏まえておいてください。 ・Perl5.8について スクリプト最強の文字サポート。Unicodeをコアとして使うことで現在の文字のサポートはできる。 Lightweightとは言っても55メガバイトもある。単純にファイルの大きさではLightweightではなくなっている。Unicodeというのは内部的に変換表を持ってるけど、ライブラリの4割はそれで占められている。もうひとつの原因は、標準モジュールの大幅増強 (基本的には外部ライブラリなしに、CPAN(Perlで使うの便利なモジュール)が使えるように) らくだ本 3rdEd.も内容が古くなっている → 付属docを読んだ方が良い ・CPANの秘密 CPANというのはPerlで使うのに便利なモジュールを集めてネットワークで使えるようにしたもの 今のところPerlを使ってる最大の理由となっている。 ・CPANを知らない人 ->意外と少ない? ・Perlのモジュールを集めていて、カンタンに持ってこれる仕組み。 ・Perlを使っている最大の理由はCPAN ・催しで1か月間、CPANの色を自由にできる権をオークションにかけた ->london.pmロンドンにあるPerlの愛好家が落札。->CPANがオレンジに! ・Perl5.8.1 Perl5.8.0の時にでも 108001パッチがあった。 Perl I/O ・Perl自体が独自のI/Oウェアを持っている。 ・Shift_JISを読み込んだ時点でUnicodeに内部的に自動的に行われる。 ファイルハンドルを使って出力すると、Shift_JISで出てきたりする。 - bugfixリリース - CVSのパッチ番号が2万5千くらいでまだRC4 - use encoding "shiftjis"; これがあることによってJPerlにさよならできることになった。 識別子は日本語もOK。モジュールの名前も日本語OK。EUCJPで書かれている。 UniCodeでなくても、自分の好きな文字コードで書けるようになった。Perl5.8.0 で登場したけど、Perl5.8.1では直している。JPerl使わなくてもよい。 MacOS Xにまだ出てないはずのPerl 5.8.1がのってる! → リリースを急ぐ!(今年中には出すといってる) ・Parrotについて Perlの今後は、Parrotの方向に行くのがほぼ決まっている。 Perlだけではなく、スクリプト言語のためのバーチャルマシンを作ろうということで出来た。オウムの意味。 (ラリー氏から日本語で、スライド使用の許可を貰っている。//当日使用) 不可能物体。Impossibleオブジェクトこの上にのっかるのはPerl6も含めたスクリプト言語全般。PHP, Python,Rubyも含む。 世に出ていないのにもう本が出ている。(詳しくはそれを読んでください) (発表者注) http://www.oreilly.com/catalog/perl6es/ 現在のPerlはCで作られているがPerl6でもPerl5の持つものも使うおうということで、Ponnieというプロジェクトが動き出している。 5.質疑応答・論議の流れ、内容 質問 Perl6にリストされる代表的なものは何か? 答え Perlという言語はほかの言語のよいとこ取りをして大きくなってきたといえる。 Perl6では、Rudyからかなり借りています。Perl5の時は世に出ていなかったので借りようが無かった。(LarryはRubyのファンである) モジュールの呼び出しが矢印だったのが「.(どっと)」になります。 → 今までドットで使っていた文字列の連結は「~(チルダ)」になります。 → 今までチルダで使っていたビット反転の判定はカラットになります。 Perl6 on Parrot では、parserとlexerが分離されるので、ブレース{}でブロックをくくるRubyも簡単に実現できます。 BASICも動いている。Pythonも動いてる。Perl6は後回しになっている。 (発表者注) 後回しになっているのは、言語の仕様がまだ煮詰まっていないため。 質問 Encode変換デカイのですが分割して落とすということは考えないの? 回答 on-demand downloadも考えている。 最優先課題は、unicode.orgに列挙されている文字セットを全部サポートすること。 必要なモジュールだけ勝手にネットワークから持ってこれるので、一番最初は unicode.org でしてるのはサポートしているエンコ―ドモジュールがでかいのは技術的には8割はある。 政治的な意図も少し入っている。 その辺を どうするかはこれから。 Compilerの使用を前提とすると、例えば非力なマシンで コンパイルできなくなる。(せいぜい3割) 質問 モジュール名がアラビア語になったりすると、困らない? 回答 モジュール名はファイルシステムと密接に関連しているので、困る。 モジュールはPerl5とも密接なので、たとえば MacOS X では漢字の「弾」はOKだけど、ひらがなは「た」と「濁点」に分解される。 モジュールが見つからないといってくる。 質問 UnicodeをPerl、Rudy等それぞれ持ってる。今後はまとまらないの? 回答 技術者に心とお金と時間の余裕があればよいのだが。 どのコミュニティーも自分のことで手いっぱい。 あくまでスクリプトの世界だが、Parrotはひとつのバーチャルマシンで複数のスクリプト言語を動かそうとしている。今後はまとめられるのではないか ちなみにiconvでは細かい制御がしきれない。   6.発表の総括 CPANというのはPerlで使うのに便利なモジュールを集めてネットワークで使えるようにしたもの今のところPerlを使ってる最大の理由の一つとなっている。 (発表者注) 他にPerlを使う理由として、(他の言語と比較して)圧倒的に大きいインストールベース、教科書、コミュニティなどもありますし、高速性などもあります。 Perlの今後は、Parrotの方向に行くのがほぼ決まっている。 Parrotはひとつのバーチャルマシンで複数のスクリプト言語を動かそうとしている。今後はunicodeもまとめられるのではないか 7.所感 他言語の良いとこ取りで育ってきたPerlが、今度はRudyから多くを取り入れるとの事でまつもと氏が日本人と言う事とオーバーラップして微妙に嬉しかったりしました。 8.特記事項 ただ記録するだけだと思って、ロガー参加の希望をしたのですが、もっと知識の有る方とか言語の経歴の長い方の方が良かったのではないかと思います。今回参加出来なかった方たちが Webでロギングの内容を公開されるのを楽しみにしてると伺い、責任重大なのに自分の知識等が追いつかなくて、本当に申し訳ない気持ちです。 私個人としては、非常に勉強になり感謝しております。 $Id: p1-perl.log,v 1.1 2004/03/24 04:00:34 ryuchi Exp $