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
"Simple Made Easy" Made Easy
Search
Kent OHASHI
July 29, 2019
Programming
0
190
"Simple Made Easy" Made Easy
Rich Hickeyの有名なプレゼン"Simple Made Easy"を簡単に解説(*> ᴗ •*)ゞ
Clojureの基本的な設計思想を理解しよう!
Kent OHASHI
July 29, 2019
Tweet
Share
More Decks by Kent OHASHI
See All by Kent OHASHI
関数型言語テイスティング: Haskell, Scala, Clojure, Elixirを比べて味わう関数型プログラミングの旨さ
lagenorhynque
1
76
純LISPから考える関数型言語のプリミティブ: Clojure, Elixir, Haskell, Scala
lagenorhynque
1
67
From Scala/Clojure to Kotlin
lagenorhynque
0
31
TDD with RDD: Changed Developer Experience through Clojure/Lisp REPLs
lagenorhynque
0
55
My Favourite Book in 2024: Get Rid of Your Japanese Accent
lagenorhynque
1
89
do Notation Equivalents in JVM languages: Scala, Kotlin, Clojure
lagenorhynque
0
63
map関数の内部実装から探るJVM言語のコレクション: Scala, Kotlin, Clojureコレクションの基本的な設計を理解しよう
lagenorhynque
0
58
Kotlin Meets Data-Oriented Programming
lagenorhynque
0
55
Introduction to Tree Representations in RDB 2024
lagenorhynque
0
87
Other Decks in Programming
See All in Programming
Goで作る、開発・CI環境
sin392
0
190
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
180
#QiitaBash MCPのセキュリティ
ryosukedtomita
0
790
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
570
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
600
C++20 射影変換
faithandbrave
0
560
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
690
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.2k
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
670
NPOでのDevinの活用
codeforeveryone
0
700
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
16
2.1k
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
0
320
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Statistics for Hackers
jakevdp
799
220k
Code Reviewing Like a Champion
maltzj
524
40k
The Cult of Friendly URLs
andyhume
79
6.5k
Typedesign – Prime Four
hannesfritz
42
2.7k
Music & Morning Musume
bryan
46
6.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
230
Measuring & Analyzing Core Web Vitals
bluesmoon
7
500
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Rails Girls Zürich Keynote
gr2m
94
14k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Transcript
"Simple Made Easy" Made Easy "Simple Made Easy" Made Easy
Clojure Clojure
lagénorhynque lagénorhynque (defprofile lagénorhynque :id @lagenorhynque :reading "/laʒenɔʁɛ̃ k/" :aliases
[" "] :languages [Clojure Haskell English français] :interests [programming language-learning law mathematics] :commits ["github.com/lagenorhynque/duct.module.pedestal"] :contributes ["github.com/japan-clojurians/clojure-site-ja"])
Clojure Clojure (*> ᴗ •*) (*> ᴗ •*) clojure tips
? 7 7
1. "simple" "easy" 2. Simple Made Easy 3. "simple" "easy"
4. "simple" "easy" 5. "simple" 6. "simple" 7. Clojure "simple"
"simple" "easy" "simple" "easy"
Clojure "simple" Clojure "simple" "easy" Clojure "simple"
Simple Made Easy Simple Made Easy
( ( ) ) Clojure "simple" ( Clojurian ) cf.
( ) Simple Made Easy Simple Made Easy Strange Loop 2011 Strange Loop 2011 Rich Hickey Simplicity Matters Rails Conf 2012 | eed3si9n
"Simple Made Easy" "Simple Made Easy" simple "simple" "easy" "simple"
"easy" ? Word Power Made Easy
"simple" "easy" "simple" "easy"
"simple" "simple" < simplex (= sim + plex) simplex :
/ : (= com + plex) : simple complex
"easy" "easy" (= + y) < aise/eise < adjacens adjacens
(cf. adjacent) : ( ) ( ) ( ) / : : easy easy ease hard
"simple" "easy" "simple" "easy"
"simple" "easy" "simple" "easy" simple/complex, easy/hard 2 easy simple !
complex simple Rich Hickey simple or complex simple or easy
"easy but complex" vs "simple but hard" "easy but complex"
vs "simple but hard" easy complex (= not simple) easy complex complex simple hard (= not easy) hard simple simple
"simple" "simple"
(complexity)
"simple" "simple" "simple" /
"simple" "simple"
"simple" "complex" ( ) "simple" (abstract) (draw away) who, what,
when, where, why, how "simple" (simplify) complect abstract
Clojure "simple" Clojure "simple"
;; Common Lisp: "complect" (defun fizzbuzz (n) (let ((fizzp (zerop
(mod n 3))) (buzzp (zerop (mod n 5)))) (cond ((and fizzp buzzp) "Fizz Buzz") (buzzp "Buzz") (fizzp "Fizz") (t n)))) ;; Clojure: "simple" (defn fizzbuzz [n] (let [fizz? (zero? (mod n 3)) buzz? (zero? (mod n 5))] (cond (and fizz? buzz?) "Fizz Buzz" buzz? "Buzz" fizz? "Fizz" :else n)))
"complect" ( ) "simple"
"complect" atom, ref, agent "simple"
"complect" who ( ) what ( ) "complect" "simple"
what ( ) who ( ) "complect" "simple" e.g. core.async
"simple" "simple" Simple Made Easy / ! Clojure !
Further Reading Further Reading Simple Made Easy matthiasn/talk-transcripts > Hickey_Rich/SimpleMadeEasy.md
Clojure Simple Made Easy - Simplicity Matters | eed3si9n Clojure Design Decisions Clojure - Clojure core.async Channels