YAPC::ASIA 2007 Tokyo 二日目から帰宅
昨日も熱かったが、今日はもっと熱かった。以下、簡単なメモと感想を。
ふつうのPerl6入門 by Dan Kogai
「ふつう」をキーワードに、Perl 5 から 6 で変わった言語仕様を説明。
まずは、多くの言語の最大公約数としての「ふつう」
- Sigil(変数の前の記号)
- アクセサが dot に
- 変数宣言が必要に
- 型宣言。必要ないがしたければできる
- println として say(ruby の puts に一文字勝った)
- OO
それから、最小公倍数としての「ふつう」。尖った言語としての「ふつう」
- reduce operator([+] 1..10 ←こういうの)
- hyper operator
- 範囲チェック
- Junction
朝で眠い上になんだか頭が痛かったが、「おはようございます」の挨拶と「ふつう」ネタでなんとか頭が和らいだ。言語仕様の話なので、ついていけなかった所が多々あったが、朝から「ふつう」とは何か?という命題もまた複雑でした。Ruby との比較(まつもとさんの記事を紹介)でインスタンス変数のや Schwarzian Transform の話をしていた。弾さんは、プロダクションで早く Perl 6 を使いたいと思っていて、その理由の1つがジャンクションだそう。
Perl 6 は、より直感的で、「間違っているのはコンピュータ言語の方。人間に合わせろ」みたいなことを言ってました。そして、「Perl 6 はあなたを「ふつう」じゃなくさせる」で終了。
シュワルチアントランスフォーム(Schwarzian Transform)って言ってみたくなった。
ref
web apiで遊び倒す by Kei-ichi Daiba
- 台場圭一さん
- Mashup Matrixを紹介
- 地図を使ったマッシュアップが多い
- OpenID と IP 電話を使ったマッシュアップのデモ
アスタリスクという PBX を紹介していました。ネットワークの不調からか、デモが見れなかったのが残念。
Mylingual - There's More Than One Language To Do It by Kazuho Oku
Japanize は、ちょっと前の Web+DB Magazine で紹介されている記事で知ったが、メニューが英語の方が、動詞が先頭に来て使い易かったりするので、使ったことはなかった。質問にあったように、自分のサービスをローカライズするために、サービス提供者が自ら翻訳して登録なんて使い方は便利でおもしろそうだと思った。あと、今流行ってるサイトが分かるなんて使い方もできるのかな。エレメント単位で翻訳しているらしいが、id が付いていない場合は、どうやって見極めているんだろう。
OS のハングというどう考えても焦るような状況でも淡々と続ける姿がクールでした。
ref
自文書抽出日本的住所 by Kazuhiro Osawa
- yappo さん再び!
住所判定モジュールが凄かった。
昼休み
日本初の Perl 同人誌(?)「マルチ中毒」を購入
s/ Perl5 Regular Expression / Perl6 Regex and Rule /mixes; by Yoshinori Takesako
(Ab)?using Class::C3 by Daisuke Maki
- 牧大輔さん
- Class::C3 と NEXT.pm では、多重継承時に親クラスのメソッドの呼ばれる順番が違う
多重継承はあまりしたくないが、Perl だと違うのかな。
Writing Pluggable software by Tatsuhiko Miyagawa
Assurer - a pluggable server testing/monitoring framework by Gosuke Miyashita
paperboy&co.では PHP 使いが多く、Perl 使いは少数だそうです。
Lighting Talks
最高におもしろかった。みんなどうかしてます。英語の講演は聞き取れませんでした。
にぽたん: 正規表現信者の憂鬱
弾さんの物真似を披露。あの盛り上がりは凄かった。
ma.la: ブラウザ履歴を利用したRSS Auto-discovery
生の ma.la さんを見るのを楽しみにしていました。時間切れで最後まで行かなかったが、帰宅後に公開されているスライドを読みました。ブラウザの履歴に残っている URL でフィードがあるのに、RSS リーダーに登録していないものを見つけ出す(登録してないのにいつも見てるサイトを探す)話。おもしろいなあ。livedoor Reader に登録されている URL のハッシュを取得する API を公開したいとのこと。
Chia-liang Kao: BabelBee - Collaborative Translation Tool
ふしはらかん: Moxy - Mobile Development Proxy
ブラウザで携帯サイトを携帯から見ているように見れる Moxy の紹介
堂前清隆: (ミニ)カンファレンス中継のあれこれ
i-rebo の紹介。動画中継がおもしろそうだった。
Ingy dot Net: Bytecode for Wikis
Jonathan Rockway: Angerwhale
長野雅広: Expectをつかったサーバ管理レシピ
- あの SNS の人
- Expect について
Mark Dominus: Debugging the De Bruijn Sequence
一言も話さないが会場大爆笑。ヒライケンジみたいでした。最高。
Yappo: Device::USB::MissileLaunchers (live)
yappo さんみたび。会社の営業の人登場で会場の笑いはピークに。
Thilo Planz: Spidernomic: A self-modifying HTML/Perl/JS file/game
Perl Program Repair Shop and Red Flags by Mark Jason Dominus
- else がないのはおかしい
- コメントは適切に
- 変数宣言は使う直前に
- 日付の扱い方(フォーマット文字列に変換するのはぎりぎりまで待て)
Perl プログラミング再生工場と銘打たれた最後の講演ですが、とてもよかった。コードコンプリート―完全なプログラミングを目指して (Microsoft PRESS) に似た話題でしたが、次のような名言がありました。
製品はプログラムじゃなくて機能だ
プログラムのほぼ「あらゆる」機能はコードの繰り返しを避けるためのもの
なるほどー
完璧なコードとは、これ以上引くことのできないコードだ
プログラムの見直しには十分な意味がある
最初に書いたコードで満足しないようにしよう