Slide 1

Slide 1 text

ຊͷ঺հ: Clojure Programming @tnoda_ 2012-04-22 #kyotoclj #1 1 Sunday, April 22, 2012

Slide 2

Slide 2 text

Clojure Programming • Chas Emetic • Brian Carper • Christophe Grand • Oreilly & Associates Inc •2012/4/19 •ˇ3,456 ʢAmazon.co.jp ৘ใʣ 2 Sunday, April 22, 2012

Slide 3

Slide 3 text

• Α͍ڭՊॻͱ͸? • “Clojure Programming” ͸Α͍ڭՊॻͳͷ͔? 3 Sunday, April 22, 2012

Slide 4

Slide 4 text

• ஌͕ࣝߏ଄Խ͞Εɺؙ҉هͰ͸ͳ͘ཧղʹͭ ͳ͕ΔΑ͏ͳ΋ͷ • ߏ଄Խͱ͸? • ஌͕ࣝ઀ଓ͞Ε͍ͯΔ͜ͱ • ֊૚Խ • ରൺత • ๏ଇత஌ࣝ 4 Sunday, April 22, 2012

Slide 5

Slide 5 text

ࠓͷࣗ෼ ࠓͷࣗ෼ ԕ֮͗ͯ͑͢ΒΕͳ͍ ஌ࣝΛͭͳ͙ͱཧղʹͳΔ 5 Sunday, April 22, 2012

Slide 6

Slide 6 text

ྫ: ΠϯσΟΞϯͱॅډ ๺੢ւ؛ ΧϦϑΥϧχΞ ฏݪ ೔ׯ͠ϨϯΨͷՈ ςϯτ ਿͷ൘ࡐͰͰ͖ͨ ࣼΊ԰ࠜͷՈ 6 Sunday, April 22, 2012

Slide 7

Slide 7 text

౴: ΠϯσΟΞϯͱॅډ ๺੢ւ؛ ΧϦϑΥϧχΞ ฏݪ ೔ׯ͠ϨϯΨͷՈ ςϯτ ਿͷ൘ࡐͰͰ͖ͨ ࣼΊ԰ࠜͷՈ 7 Sunday, April 22, 2012

Slide 8

Slide 8 text

ΧϦϑΥϧχΞͱ೔ׯϨϯΨΛ઀ଓ ΧϦϑΥϧχΞ ೔ׯ͠ϨϯΨͷՈ ॅډ͸खۙͳࡐྉͰ࡞ΒΕΔ ॅډ͸ؾީʹࠨӈ͞ΕΔ Ӎগͳ͍ ໦ҭͨͳ͍ 8 Sunday, April 22, 2012

Slide 9

Slide 9 text

౴: ΠϯσΟΞϯͱॅډ ๺੢ւ؛ ΧϦϑΥϧχΞ ฏݪ ೔ׯ͠ϨϯΨͷՈ ςϯτ ਿͷ൘ࡐͰͰ͖ͨ ࣼΊ԰ࠜͷՈ ॅډ͸खۙͳࡐྉͰ࡞ΒΕΔ ॅډ͸ؾީʹࠨӈ͞ΕΔ 9 Sunday, April 22, 2012

Slide 10

Slide 10 text

ࢀߟจݙ • ੢ྛࠀ඙ • ؒҧ͍ͩΒ͚ͷֶश࿦ • ৽༵ࣾ • 1994 10 Sunday, April 22, 2012

Slide 11

Slide 11 text

Α͍ڭՊॻ·ͱΊ • ஌͕ࣝฒ΂ͯ͋Δ͚ͩͰ͸ͩΊ • ઀ଓͯ͠ɺཧղʹͯ͋͛͠ͳ͍ͱ͍͚ͳ͍ 11 Sunday, April 22, 2012

Slide 12

Slide 12 text

“Clojure Programming” ͸ Α͍ڭՊॻ͔? 12 Sunday, April 22, 2012

Slide 13

Slide 13 text

ྫ: defn (defn name doc-string? attr-map? [params*] body) ؔ਺Λఆٛ͢Δʹ͸ defn Λ࢖͍·͢: 13 Sunday, April 22, 2012

Slide 14

Slide 14 text

֊૚Խ defn def fn do let Lexical Scoping Destructuring Sequential Destructuring Map Destructuring Symbol Namespace 14 Sunday, April 22, 2012

Slide 15

Slide 15 text

ରൺత map defrecord comp ->> transient persistent sequence iterator 15 Sunday, April 22, 2012

Slide 16

Slide 16 text

๏ଇత஌ࣝ • Howto, Tips ͕ॆ࣮ → ͳͥ? • Map ͱ defrecord ͲͪΒΛ࢖͏΂͖͔ • Vector ͸ͲΜͳͱ͖ʹ࢖͏͔ • Lazy seq Λ࡞Δͱ͖ʹ Pure Function Ͱͳ ͚Ε͹ͳΒͳ͍ͷ͸ͳ͔ͥ? 16 Sunday, April 22, 2012

Slide 17

Slide 17 text

ޮ཰తʹֶशͰ͖Δ • ஌͕ࣝ઀ଓ͞Ε͍ͯΔ • ֊૚Խɾରൺత • ๏ଇత஌ࣝ ؙ҉ه͔Βཧղ΁ 17 Sunday, April 22, 2012

Slide 18

Slide 18 text

લఏͱ͢Δ஌ࣝ Java ˕ʢඞਢʣ Ruby or Python ˚ʢબ୒ʣ Lisp ºʢෆཁʣ Functional Programming ºʢෆཁʣ 18 Sunday, April 22, 2012

Slide 19

Slide 19 text

ࢀߟ Java ˕ Ruby or Python º Lisp ˓ Functional Programming ˓ 19 Sunday, April 22, 2012

Slide 20

Slide 20 text

·ͱΊ • Α͍ڭՊॻ͸? • ஌͕ࣝ઀ଓɾߏ଄Խ͞ΕɺཧղΛॿ͚Δ • લఏ஌͕ࣝࣗ෼ʹ߹͍ͬͯΔ • “Clojure Programming” ͸ • Α͘ߟ͑ΒΕͨɺΑ͍ڭՊॻ • Lisp, Functional Programming ͷܦݧ͕ͳ ͍ Ruby ϓϩάϥϚͰ΋ಡΊΔ • Functional Programming ͷೖ໳ʹ΋ͳΔ 20 Sunday, April 22, 2012

Slide 21

Slide 21 text

͓ΘΓʹ • Clojure ͸ίʔυΛॻ͘લʹษڧ͢Δ͜ͱ͕ ଟ͍Ͱ͢ɻ • ʢRuby ͔ΒདྷͨϓϩάϥϚʹͱͬͯʣ • “Clojure Programming” ͸ɺClojure ͷ஌ࣝΛ ಄ʹ٧ΊࠐΉͷʹ࠷దͳڭՊॻͰ͢ɻ 21 Sunday, April 22, 2012