Language Update Perl (小飼弾さんの代理) 竹迫 良範. 2006/06/30 2 LL イベント の歴史を 振り返る.

Similar presentations


Presentation on theme: "Language Update Perl (小飼弾さんの代理) 竹迫 良範. 2006/06/30 2 LL イベント の歴史を 振り返る."— Presentation transcript:

1 Language Update Perl (小飼弾さんの代理) 竹迫 良範

2 2006/06/30 2 LL イベント の歴史を 振り返る

3 2006/06/30 3 LL Saturday ( 2003 )

4 2006/06/30 4 LL Weekend ( 2004 )

5 2006/06/30 5 LLDN ( 2005 ) 実態:スクリプト言語ヲタの祭り

6 2006/06/30 6 Web サイト

7 2006/06/30 7

8 8 キタ━━ ( ゚∀゚ ) ━━ッ !! 小飼弾 さん

9 2006/06/30 9

10 10 ここで、会場の 皆様に 質問

11 2006/06/30 11

12 require Dan::Kogai もちろん!

13 2006/06/30 13 ↓ require jcode.pl ? Perl4  Perl5 jcode.pl  Jcode.pm require Dan::Kogai ↓ use (J|En)code;

14 use Dan::Kogai 弾さんを使おう

15 キミならどう書く 2.0 前哨戦 Round 1 お題 「 100 までの素数を列挙せよ」

16 2006/06/30 16 Brainf*ck で 100 までの素数を列挙してみるテスト

17 2006/06/30 17

18 2006/06/30 18 Excel VBAで素数 featuring イルカ http://d.hatena.ne.jp/kkkkkkkk/20060620/p1 冴子先生

19 2006/06/30 19 もちろんイルカくんも・・・

20 2006/06/30 20

21 2006/06/30 21 勝手に添削コーナー 雑誌やブログの記事に書かれてい る Perl のコードを弾さんが添削してく れる すばらしい連載企画

22 2006/06/30 22 プロダクションスクリプトに use strict; をつけないと、 左手のサイコレーターが TB をあびせるぞ ! http://blog.livedoor.jp/dankogai/archives/50449002.html

23 2006/06/30 23 【ITレスラー戦国伝】タブとスペース抗争 の巻 登場人物 サイボウズ科学戦隊所属の IT レスラー 【燕 ( つばくろ ) の Kazuho 】 無所属の IT レスラー【ストロング弾】 謎の IT レスラー【ムッシュ石垣】 Six Apart の IT レスラー【南斗せきむら】 LD 所属の IT レスラー 【キャプター疾風 ( はやて ) 】 iY 所属の IT レスラー【魔人イヤプー】 http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/knifestyle/20060430/p1

24 2006/06/30 24 【ITレスラー戦国伝】タブとスペース抗争 の巻 スペース派閥 C 系の言語 は 4 、 Ruby は 2 いや、 Ruby は 3 スペでしょ タブ(萌ディタ流派) タブで揃えて、萌ディタでタブ幅を動的に切り替 え 保存時に変換 君たちは、 patch のことをきれいさぱーり忘れて いる。 人に patch を送るときには、必ず perl -i.bak -ple 's{^(\t+)}{q( ) x (length($1)*4)}e' old.pl としていただきたい。 秀丸エディタで、 CTRL + A → ALT + E → V → S とするとタブをスペースに変換(約 0.2 秒) そのタブ Acme::Tabify でよくね? Plagger でもいいけど

25 2006/06/30 25 添削希望のコードをブログで公開するメソッ ド http://rebecca.ac/milano/mt/archives/001383.html

26 2006/06/30 26 TMTOWTDI There's more than one way to do it. Perl のスローガン

27 2006/06/30 27 TMDTWTDI There's more Dan the way to do it. Dan さんの場合

28 2006/06/30 28 結論 Dan さんの実装も 快く受け入れるの が Perl の文化

29 2006/06/30 29

30 Language Update Perl Shibuya.pm 竹迫 良範

31 2006/06/30 31 Perl6 の開発状況 ← いまここ

32 2006/06/30 32 多態型 存在型 帰納的 λ λ λ Pugs の登場( 2005 年)

33 2006/06/30 33 Haskell

34 Perl 6 で 何が変わるの? 素朴な疑問

35 2006/06/30 35 5秒でわかる Perl6 メソッド呼び出しを. で書けるように なった Perl5 $obj->method(); Perl6 $obj.method(); → これで Perl も立派な OO 言語の仲間入り!

36 2006/06/30 36 めでたし、めでたし 終了

37 Perl 5  6 の Update について もうちょっと詳しく・・・

38 2006/06/30 38 Perl6 で失ったもの ~後方互換性~ 文字列の連結は. (ドット) → ~ (チル ダ)に Perl5 # メソッド呼び出し $obj->method(); my $a = “ A"; sub func { return "x"; } # 文字列の連結 my $b = $a.func(); Perl6 # メソッド呼び出し $obj.method(); my $a = “ A"; sub func { return "x"; } # 文字列の連結 my $b = $a~func();

39 2006/06/30 39 配列とハッシュのアクセス方法が変更 はじめての人にもわかりやすく 変数のプレフィクス $@% ルールが変更 Perl5Perl6 my @array = (1, 2, 3); my %hash = ('a'=> 1); # 配列のメンバにアクセス my $x = $array[0]; # ハッシュのメンバにアクセス my $y = $hash{'a'} my @array = (1, 2, 3); my %hash = ('a'=> 1); # 配列のメンバにアクセス my $x = @array[0]; # ハッシュのメンバにアクセス my $y = %hash{'a'}

40 2006/06/30 40 Piping operators ( ) Perl6 @result = map { floor($^x / 2) } grep { /^ \d+ $/ } @data; @result <== map { floor($^x / 2) } <== grep { /^ \d+ $/ } <== @data; @data ==> grep { /^ \d+ $/ } ==> map { floor($^x / 2) } ==> @result;

41 2006/06/30 41 括弧省略 if, for, while, do ブロックでの(括弧省 略) キータイプの量が少なくなった Perl5Perl6 if ($a eq $b) { print "a=b\n"; } while ($i > 0) { $i--; } if $a eq $b { say "a=b"; } while $i > 0 { $i--; }

42 2006/06/30 42 Neko operator (ネコ演算子) Damian Conway 氏が OSCON2005 で発音 末尾を含まない「..^ 」 先頭を含まない「 ^.. 」 先頭と末尾を含まない「 ^..^ 」 Perl6 my @a = (1..^5); # (1,2,3,4) my @b = (1^..5); # (2,3,4,5) my @c = (1^..^5); # (2,3,4) http://www.rubyist.net/~matz/20050803.html

43 2006/06/30 43 ネコ演算子って・・・ちょwおまwww ネコ耳モード ♪ ^..^ http://catzpaw.net/~www/gal/sugz042b.html Illustration by SUGIMOTO Yoshiaki June 25, 2005

44 CPAN Recently Update

45 2006/06/30 45

46 2006/06/30 46 ■ 2006 年 : 現在 2941 個のモジュールがリリース http://cpants.perl.org/graphs.html

47 Moose.pm クラス定義をスマートに

48 2006/06/30 48 Perl6 (Pugs)

49 2006/06/30 49 Perl5 (Moose.pm)

50 Moose.pm サブクラスの作成 (派生クラスの継承)

51 2006/06/30 51 Perl6 (Pugs)

52 2006/06/30 52 Perl5 (Moose.pm)

53 Perl 5.9.x 開発版

54 2006/06/30 54 Perl 5.9.3 の新機能

55 2006/06/30 55 // 演算子 ( err キーワード) 左辺が undef のときのみ右辺を評価 Perl5 でありがちなデフォルト値バグを回 避 0 (ゼロ) の扱いで失敗 それぞれ || → or, // → err に対応 Perl5Perl6 $num = shift @ARGV || 1; $bar = func() or die; $num = shift @ARGS // 1; $bar = func() err die;

56 2006/06/30 56 Perl 5.9.4 UNIVERSAL::require が標準添付 実行時に $module を遅延ロードしたい eval “require $module”; $module->require; UNIVERSAL::require を使うと

57 2006/06/30 57 Catalyst で使われている

58 2006/06/30 58 Catalyst – Web Framework

59 Sledge ライブドア社の Web フレームワーク

60 2006/06/30 60

61 TripletaiL ユミルリンク社の Web フレームワーク

62 2006/06/30 62

63 2006/06/30 63 速報

64 東京 IT 新聞 2006 年 8 月 17 日

65 2006/06/30 65

66 2006/06/30 66 1. Catalyst 2. Boofy 3. Sledge 4. CGI::Application 5. Soozy 6. Maypole 7. Jifty 8. Mason Perl の Web アプリケーションフレームワーク ランキング http://lislog.livedoor.com/r/136

67 2006/06/30 67 どう見て も サブテカです。 本当に(r y

68 Jifty 注目の Web フレームワーク http://jifty.org/

69 2006/06/30 69 Jifty の特徴 DRY (Don't Repeat Yourself) Full-stack Continuations Form-based dispatch Perl CPAN A Pony ※ あの Audrey Tang も開発に参加

70 2006/06/30 70

71 2006/06/30 71

72 2006/06/30 72 詳しくは …

73 2006/06/30 73 2006 年 8 月 25 日発売 【著者】 小飼 弾、宮川達彦、伊藤直也、 川合孝典、水野貴明、加藤 敦、 石垣憲一、栗原由樹、まかまか、 池邉智洋、 ma.la 、竹迫良範、 ささだこういち、可知 豊、秋 山隆道、久保元治、滝澤隆史、 歌代和正 【書名】 まるごと Perl ! Vol.1 【定価】 1,995 円(本体 1,900 円+税)

74 2006/06/30 74

75 2006/06/30 75

76 2006/06/30 76 ソーシャル家計簿サイト http://www.3zai.com/ powered by Perl CGI::Application で構築 秋のリニュで Catalyst に

77 Perl フレームワーク 国内実績、既に多数ということ で (わざわざ出場しなくても)

78 2006/06/30 78 Perl 最強 ! ( ≠ 災凶)

79 2006/06/30 79 ご清聴ありがとうございました


Download ppt "Language Update Perl (小飼弾さんの代理) 竹迫 良範. 2006/06/30 2 LL イベント の歴史を 振り返る."

Similar presentations


Ads by Google