へっぽこSmalltalkerからみたEnumerable

654 views

Published on

言い訳はしません。グダグダですみませんすみません><;

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
654
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
3
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

へっぽこSmalltalkerからみたEnumerable

  1. 1. へっぽこSmalltalker から見 た Enumerable おがさわらなるひこ るりま読書会 @ オラクル青山 2012.08.11
  2. 2. 自己紹介 元、某メーカーで社内ニート 9ヶ月の実ニートを経て 今は中堅 SIer で社内ニート 趣味は印刷技術 自費でカリフォルニアの会合にも行った Gihyo.jp にもレポ書いた (←知らんがな TLUG でもプレゼンした (←知らんがな 1/16
  3. 3. そんなことより某雑誌のボンシンコーで死にそうになってるんですが、こんなところにいて 大丈夫なのか 2/16
  4. 4. 俺と Ruby Ruby 書けないんだ (´・ω・`) 隣の人たちは Ruby でもりもりコード書 いてますけど Enju とかいう単語が聞こえてくる Ruby は 1.6 の頃から触ってた 初代バイブルとか 256 本は持ってる Win32OLE で Excel 連携とかよくやった そんなレベル 3/16
  5. 5. そんなわけで今日は Smalltalkの話をしてお茶を 濁しますSmalltalkも書けるというわけじゃない けど…… 4/16
  6. 6. Smalltalk まさか知らん人おらんよね? Lisp と並ぶもう Ruby の一人の片親 でも Lisp にはよく言及されるけど…… 毎回 ReadWriteStream disるの止めて あげてください X-( Stream <-+- ReadStream | +- WriteStream <- ReadWriteStream 5/16
  7. 7. Smalltalk には Module とか多重継承的なものがない Enumerable にあたるものは当然 存在しない でも最近流行りの Trait が最初に 発表されたのは Smalltalk なのよ Squeak / Pharo という実装で使える Module はダミークラスを作るけど、 Trait はクラスのメソッド辞書に突っ込む 6/16
  8. 8. クラスとして同じような意味を持つのは Collection Stream も似てるっちゃ似てる 同じメソッドあるし 同じメソッドがあるならクラス階層が違っ ても呼べるのは Smalltalk も同じ duck typing なんてのは 80 年代に通過してます 7/16
  9. 9. Enumerable といえばやはりeach Smalltalk では do: コロンじゅーよー (1 to: 10) do: [ :n | Transcript cr; show: n * 2]. なんだそっくりじゃないか はっきりいってパク(ry 8/16
  10. 10. ぱっと目につく違い map とか collect とか inject とか はクリソツ どうせ Lisp からのパク(ry Smalltalk には破壊的操作とか存 在しないよ(多分 漢らしく新しいインスタンスを生成する shallow copy なのでそんなに問題には ならない 9/16 put:at: とかあるから手書きでは可能
  11. 11. ぱっと目につく違い 続き Smalltalk は as の多用が目立つ ソートするのに asSortedCollection と か 単一化するのに asSet とか 当たり前だけど「モダンな」機能は Ruby のほうが便利そう そもそも正規表現ビルトインじゃないしと かあるよなー 10/16
  12. 12. 正直productive にコード書いてないからよくわかりませんスミマセンスミマセ ン 11/16
  13. 13. 訓練された Smalltalker はHierarchy Browser でCollection を見ても当然動じない 見てみましょう 12/16
  14. 14. えっ、私のクラス……多すぎ? Small Class がいいか Big Class がいいかは宗派の問題 「このメソッドは配列のとき意外に呼 んでもアレ」とかがキモイって人もい る ぼくとか 13/16
  15. 15. 貴様は Enumerable のメソッドをすべて暗記してるのか? Smalltalk のことは Smalltalk に聞 けばいい Smalltalker だって Collection に何が あるかなんか暗記してない (らしい) だからみんなるりま読むよね? るりま超サイコーですよ 14/16
  16. 16. そして たまには Smalltalk も遊んでみて ね♪ 個人的には Squeak Smalltalk オススメ 15/16
  17. 17. おしまい。 16/16

×