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
Don't fear the paren! 8 reasons you should give...
Search
Giuseppe Capizzi
April 09, 2014
Programming
4
180
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
150
PHP: The good, the bad and the ugly
gcapizzi
3
360
Other Decks in Programming
See All in Programming
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
110
ワープロって実は計算機で
pepepper
2
1.4k
The State of Fluid (2025)
s2b
0
200
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
15
8k
未来を拓くAI技術〜エージェント開発とAI駆動開発〜
leveragestech
2
180
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
730
Understanding Ruby Grammar Through Conflicts
yui_knk
1
130
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
2
1.4k
オープンセミナー2025@広島LT技術ブログを続けるには
satoshi256kbyte
0
130
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
180
Microsoft Orleans, Daprのアクターモデルを使い効率的に開発、デプロイを行うためのSekibanの試行錯誤 / Sekiban: Exploring Efficient Development and Deployment with Microsoft Orleans and Dapr Actor Models
tomohisa
0
210
KessokuでDIでもgoroutineを活用する / Go Connect #6
mazrean
0
120
Featured
See All Featured
The Language of Interfaces
destraynor
160
25k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Balancing Empowerment & Direction
lara
2
590
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Speed Design
sergeychernyshev
32
1.1k
Navigating Team Friction
lara
189
15k
Site-Speed That Sticks
csswizardry
10
790
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
820
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
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!