YAPC::Asia 2008 Thu. 5/15 (1)
Perl Mongers の ML に登録してみた tmorimoto です。Perl は、個人的には、学生時代にちょっと使った程度です。YAPC::Asia 2008 の開会の挨拶で miyagawa tatsuhiko さんが「ここに来た人は、みんな Perl Mongers だよ。」と仰っていました。
初めて YAPC に参加してきました。世界最大規模の YAPC と銘打っている理由は、各国の YAPC と比較して、参加者数が一番多いそうです。今回は524人でした。
私が参加したセッションは以下の通りです。
- Larry Wall - A Standard That Is Meant To Be Broken, 本当に!
- Tokuhiro Matsuno (tokuhirom) - about Perl5.10
- Dan Kogai - PSL = Perl as a Second Language
- Leon Brocard (acme) - Working in the cloud
- Kazutake Hiramatsu - Parrot Compiler Tools
- Gosuke Miyashita (mizzy) - Easy system administration programming with a framework - フレームワークでシステム管理プログラミングをもっと簡単に
セッション自体は Ustream でも配信していましたが、この手のイベントは参加する事にとても大きな意味があると、私は思っています。私は、初めて Perl の生みの親であるラリー・ウォールさんを拝見しました。
各々のプレゼンターが、どんな人となりで、どういう手法で、何を伝えようとしているのか。私は、この手のイベントは、(もちろん内容も素晴らしかったですが)内容そのものよりも、会場も含めた雰囲気(どよめきや反響)にも興味を持って楽しんでいます。リアルでしか伝わらない事、その場にいるから鮮明に印象に残る事、それは参加した自分だけの収穫になると思います。
さて、個々のセッションの、私が興味深かった内容と感想を簡単にまとめてみます。
- Larry Wall - A Standard That Is Meant To Be Broken, 本当に!
- Tokuhiro Matsuno (tokuhirom) - about Perl5.10
- Dan Kogai - PSL = Perl as a Second Language
- Leon Brocard (acme) - Working in the cloud
- Kazutake Hiramatsu - Parrot Compiler Tools
- Gosuke Miyashita (mizzy) - Easy system administration programming with a framework - フレームワークでシステム管理プログラミングをもっと簡単に
私にとっては、とても難しかったです。聞いていて理解できたのは2〜3割ぐらいです。Perl6 の特徴や新機能についてお話しされました。「classical ≠ good なときもありますね。standard = rule ですが、それはもう broken ですよ。」と始まりました。Perl6 では Rule という正規表現をさらに強力にした仕組みを使って、文法や演算子を自由に定義できます。Perl6 は1つの言語ではないかもしれない?と言われる所以が、その辺にありそうです。英語と日本語を織り交ぜつつ、コードを書きつつ、実際に実行しつつ、字句/構文解析について説明されていました。Perl6 の予備知識もなければ、言語理論も分からない私にとっては難しかったです。ただ、ラリー・ウォールさんのユニークな人柄だけは伝わってきました(^ ^;;
「Perl 5.10 を使う 510 の理由」と題して、テンポよくプレゼンされました。スライドがシンプルで見易かったです。Perl 5.10 は互換性を保持しつつ、色々と改善されてて、便利な機能も入っているので、どんどん使った方が良いとお奨めされていました。
1点だけ印象に残った事を紹介します。state 変数という、C 言語で言う static に相当するキーワードが使えるようになりました。「my/our/local に state も追加されて、訳が分かりませんね。」と言うノリが面白かったです。
1日目の発表の中では、最も「おぉぉー。」と、私が思った発表でした。私の中で気付きが多かったです。「第2言語を学ぶのは何故ですか?」との問いかけに「母国語をより理解するため。」との答え。自分(母国語)にとっては、普通な事が、他の言語ではそうでなかったり、もしくはその反対があると言う事実を、第2言語を学ぶ過程で理解できると説明されていました。
また Perl は context oriented(文脈指向) の言語なので、自然言語と同様の考え方で解釈しています。故に、Perl は DWIM(Do What I Mean):"空気を読む" な言語だと仰ってました。ラリー・ウォールさんのプレゼンの中でも DWIM というキーワードがちらほら出ていて、どういう意味なのかな?と疑問に思っていた私にとっては、とてもすっきりしました。無知ですみません m(_ _)m
所謂、クラウドコンピューティングを展開しているサービス事例やサイト等の紹介でした。これからの Web サービスは、H/W やストレージを意識する事なく、よりアプリケーションやサービスに特化した仕組みへ変わっていくだろうと言うことです。以前、Google App Engine レビューで紹介した Google の新サービスも正しくそれですね。
キーワードとしては、XaaS(X as a Service) という括りで、BaaS(Business 〜)、 OaaS(Organization 〜)、PaaS(Process 〜) や DaaS(Data 〜) 等、他にも色んな XaaS もあるようです。最後は「いずれにしても、未来は、クレジットカードが必須ですよ。」とオチをつけてお終いでした。プレゼンの仕方として、会場を巻き込んで、随時、ツッコミを受けながら楽しくプレゼンされていました。そういった手法は欧米人に学ぶべき箇所が多いですね。
Parrot とは Perl6 の VM に相当する位置付けになります。コンパイラを作成するためのコンパイラのようなものですと説明されていました。Parrot を使えば、オレ様言語も(自分で一から作るよりは)簡単に作成できるそうです。
とは言っても、Perl6 の syntax を定義するのは難しい、、、と漏らしていたので、それ相応のノウハウや勉強が必要なようです。最新バージョンは 0.6.1 で、やや開発が難航気味らしいです。
Func と言う Fedora 発のシステム管理アプリケーションを作成するためのフレームワークがあります。Func は RH 系 Linux を前提として、python で作られていますが、それの Perl 版を、汎用 Linux のために開発しているのが Punc になります。JSON/JSON-RPC を用いれば、管理アプリのクライアント実装は、特定の言語に依存せず、スケーラブルに運用管理の仕組みを構築できる可能性があるようです。私は、初めて JSON-RPC というキーワードを知ったのですが、こんな仕組みもあるのですね。
Linux の運用管理系アプリは、決定的なモノがないと当社でもよく話題に上がります。この Func/Punc は、それを作るためのフレームワークです。ちょっとした機能を使いたいがために、どれ/それを使うというのではなく、自分で簡単に作っちゃえ的な発想です。まだまだ開発途上中のようですが、私も今後、注目して取り上げてみようと考えています。
リファレンス:
オープンソースなシステム管理フレームワーク Func
システム管理者が作り上げるネットワーク管理ツールFunc




コメント