Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
本の紹介: Clojure Programming
Search
Takahiro Noda
April 22, 2012
Programming
4
570
本の紹介: Clojure Programming
Kyoto.clj #1 発表資料。2012年4月22日。オライリーの新刊(発表当時)Clojure 本「Clojure Programming」がよい教科書であることを述べる。
Takahiro Noda
April 22, 2012
Tweet
Share
More Decks by Takahiro Noda
See All by Takahiro Noda
Open Source Data Analysis Toolbox
tnoda
0
74
Clojure for Non-Clojurians
tnoda
0
220
Yet another introduction to core.async
tnoda
2
280
Other Decks in Programming
See All in Programming
ASP.NETアプリケーションのモダナイゼーションについて
tomokusaba
0
240
Improve my own Ruby
sisshiki1969
0
100
By the way Google Cloud Next 2025に行ってみてどうだった
ymd65536
0
110
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
7
1.4k
Rubyの!メソッドをちゃんと理解する
alstrocrack
1
120
大LLM時代にこの先生きのこるには-ITエンジニア編
fumiyakume
8
3.3k
Make Parsers Compatible Using Automata Learning
makenowjust
2
6.9k
Bedrock × Confluenceで簡単(?)社内RAG
iharuoru
1
110
七輪ライブラリー: Claude AI で作る Next.js アプリ
suneo3476
1
170
Ruby's Line Breaks
yui_knk
4
2.8k
Dissecting and Reconstructing Ruby Syntactic Structures
ydah
3
2k
Browser and UI #2 HTML/ARIA
ken7253
2
170
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Site-Speed That Sticks
csswizardry
6
530
Automating Front-end Workflow
addyosmani
1370
200k
Designing for Performance
lara
608
69k
Why Our Code Smells
bkeepers
PRO
336
57k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Thoughts on Productivity
jonyablonski
69
4.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Building Adaptive Systems
keathley
41
2.5k
Become a Pro
speakerdeck
PRO
28
5.3k
Transcript
ຊͷհ: Clojure Programming @tnoda_ 2012-04-22 #kyotoclj #1 1 Sunday, April
22, 2012
Clojure Programming • Chas Emetic • Brian Carper • Christophe
Grand • Oreilly & Associates Inc •2012/4/19 •ˇ3,456 ʢAmazon.co.jp ใʣ 2 Sunday, April 22, 2012
• Α͍ڭՊॻͱ? • “Clojure Programming” Α͍ڭՊॻͳͷ͔? 3 Sunday, April 22,
2012
• ͕ࣝߏԽ͞Εɺؙ҉هͰͳ͘ཧղʹͭ ͳ͕ΔΑ͏ͳͷ • ߏԽͱ? • ͕ࣝଓ͞Ε͍ͯΔ͜ͱ • ֊Խ •
ରൺత • ๏ଇతࣝ 4 Sunday, April 22, 2012
ࠓͷࣗ ࠓͷࣗ ԕ֮͗ͯ͑͢ΒΕͳ͍ ࣝΛͭͳ͙ͱཧղʹͳΔ 5 Sunday, April 22, 2012
ྫ: ΠϯσΟΞϯͱॅډ ւ؛ ΧϦϑΥϧχΞ ฏݪ ׯ͠ϨϯΨͷՈ ςϯτ ਿͷ൘ࡐͰͰ͖ͨ ࣼΊࠜͷՈ 6
Sunday, April 22, 2012
: ΠϯσΟΞϯͱॅډ ւ؛ ΧϦϑΥϧχΞ ฏݪ ׯ͠ϨϯΨͷՈ ςϯτ ਿͷ൘ࡐͰͰ͖ͨ ࣼΊࠜͷՈ 7
Sunday, April 22, 2012
ΧϦϑΥϧχΞͱׯϨϯΨΛଓ ΧϦϑΥϧχΞ ׯ͠ϨϯΨͷՈ ॅډखۙͳࡐྉͰ࡞ΒΕΔ ॅډؾީʹࠨӈ͞ΕΔ Ӎগͳ͍ ҭͨͳ͍ 8 Sunday, April
22, 2012
: ΠϯσΟΞϯͱॅډ ւ؛ ΧϦϑΥϧχΞ ฏݪ ׯ͠ϨϯΨͷՈ ςϯτ ਿͷ൘ࡐͰͰ͖ͨ ࣼΊࠜͷՈ ॅډखۙͳࡐྉͰ࡞ΒΕΔ
ॅډؾީʹࠨӈ͞ΕΔ 9 Sunday, April 22, 2012
ࢀߟจݙ • ྛࠀ • ؒҧ͍ͩΒ͚ͷֶश • ৽༵ࣾ • 1994 10
Sunday, April 22, 2012
Α͍ڭՊॻ·ͱΊ • ͕ࣝฒͯ͋Δ͚ͩͰͩΊ • ଓͯ͠ɺཧղʹͯ͋͛͠ͳ͍ͱ͍͚ͳ͍ 11 Sunday, April 22, 2012
“Clojure Programming” Α͍ڭՊॻ͔? 12 Sunday, April 22, 2012
ྫ: defn (defn name doc-string? attr-map? [params*] body) ؔΛఆٛ͢Δʹ defn
Λ͍·͢: 13 Sunday, April 22, 2012
֊Խ defn def fn do let Lexical Scoping Destructuring Sequential
Destructuring Map Destructuring Symbol Namespace 14 Sunday, April 22, 2012
ରൺత map defrecord comp ->> transient persistent sequence iterator 15
Sunday, April 22, 2012
๏ଇతࣝ • Howto, Tips ͕ॆ࣮ → ͳͥ? • Map ͱ
defrecord ͲͪΒΛ͏͖͔ • Vector ͲΜͳͱ͖ʹ͏͔ • Lazy seq Λ࡞Δͱ͖ʹ Pure Function Ͱͳ ͚ΕͳΒͳ͍ͷͳ͔ͥ? 16 Sunday, April 22, 2012
ޮతʹֶशͰ͖Δ • ͕ࣝଓ͞Ε͍ͯΔ • ֊Խɾରൺత • ๏ଇతࣝ ؙ҉ه͔Βཧղ 17 Sunday,
April 22, 2012
લఏͱ͢Δࣝ Java ˕ʢඞਢʣ Ruby or Python ˚ʢબʣ Lisp ºʢෆཁʣ Functional
Programming ºʢෆཁʣ 18 Sunday, April 22, 2012
ࢀߟ Java ˕ Ruby or Python º Lisp ˓ Functional
Programming ˓ 19 Sunday, April 22, 2012
·ͱΊ • Α͍ڭՊॻ? • ͕ࣝଓɾߏԽ͞ΕɺཧղΛॿ͚Δ • લఏ͕ࣝࣗʹ߹͍ͬͯΔ • “Clojure Programming”
• Α͘ߟ͑ΒΕͨɺΑ͍ڭՊॻ • Lisp, Functional Programming ͷܦݧ͕ͳ ͍ Ruby ϓϩάϥϚͰಡΊΔ • Functional Programming ͷೖʹͳΔ 20 Sunday, April 22, 2012
͓ΘΓʹ • Clojure ίʔυΛॻ͘લʹษڧ͢Δ͜ͱ͕ ଟ͍Ͱ͢ɻ • ʢRuby ͔ΒདྷͨϓϩάϥϚʹͱͬͯʣ • “Clojure
Programming” ɺClojure ͷࣝΛ ಄ʹ٧ΊࠐΉͷʹ࠷దͳڭՊॻͰ͢ɻ 21 Sunday, April 22, 2012