$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Don't fear the paren! 8 reasons you should give...
Search
Giuseppe Capizzi
April 09, 2014
Programming
4
190
Don't fear the paren! 8 reasons you should give Clojure a try
Giuseppe Capizzi
April 09, 2014
Tweet
Share
More Decks by Giuseppe Capizzi
See All by Giuseppe Capizzi
A (not so) gentle introduction to functional programming
gcapizzi
1
160
PHP: The good, the bad and the ugly
gcapizzi
3
370
Other Decks in Programming
See All in Programming
Python札幌 LT資料
t3tra
7
1k
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
ゲームの物理 剛体編
fadis
0
370
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
290
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
3.8k
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
150
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
270
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
410
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
450
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
2.1k
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3k
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
580
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Designing for Performance
lara
610
69k
Odyssey Design
rkendrick25
PRO
0
430
Leadership Guide Workshop - DevTernity 2021
reverentgeek
0
170
Building the Perfect Custom Keyboard
takai
1
660
Un-Boring Meetings
codingconduct
0
160
Thoughts on Productivity
jonyablonski
73
5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
250
Skip the Path - Find Your Career Trail
mkilby
0
27
Transcript
( ) DON’T FEAR THE PAREN! 8 reason you should
give Clojure a try
“2014 is the year of clojure” Federic Gala i
Uncle Bo “it might be the seed that starts the
process towards the last programming language”
1 functional
•Immutable, persistent data structures •first-class functions •dynamic polymorphism
“object orientation is overrated”
“mutable stateful objects are the new spaghetti code” All data
structures immutable & persistent
“It is better to have 100 functions operate on one
data structure than to have 10 functions operate on 10 data structures." Alan J. Perli Many functions defined on few primary data structures
“polymorphism is a good thing” protocols for class polymorphism, multimethods
for custom hierarchies
2 LISP
None
•(Almost) no syntax •code is data, let’s do macros! •not
constrained by backwards compatibility
3 on the jvm
•embraces the jvm as a platform •fast! almost as fast
as java •tons of high quality libraries •mature echosystem
4 concurrency
moore’s law is over
threads & locks are a mess
the actor model was designed to address the problems of
distributed programs
•immutable data can be shared freely •atoms •transactional references (stm)
•async agents •csp with core.async
clojurescript 5
javascript is everywhere
javascript is not very robust
clojurescript to the rescue
•interoperates with javascript •brings much of clojure goodness to the
js world (incl. core.async!) •uses google closure optimizations
6 tools
•nrepl •leiningen •editors (emacs, vim, light table, eclipse, intellij, netbeans)
•testing (clojure.test, speclj, midje, test.check)
7 echosystem
•core.typed optional type system •core.logic for logic programming •om (clojurescript
+ facebook react) •overtone (clojure + supercollider)
•rapidly evolving web stack based on ring •immutant (jboss as7
+ ring) •datomic •http-kit
8 community
•vivid •inclusive •tons of tutorials and documentation
thanks!