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
Beginning ClojureScript: How not to learn a new...
Search
Greg Goltsov
October 03, 2017
Programming
1
110
Beginning ClojureScript: How not to learn a new language
Talk I gave at Sydney's Clojure meetup about my experience of learning ClojureScript.
Greg Goltsov
October 03, 2017
Tweet
Share
More Decks by Greg Goltsov
See All by Greg Goltsov
Seeing at the Speed of Thought: Empowering Others Through Data Exploration
ggoltsov
0
260
Full-stack Data Science: How to be a One-Man Data Team
ggoltsov
2
600
Kuranku - final game presentation
ggoltsov
0
280
Scalable agent-based simulations
ggoltsov
1
240
Procedural City Generator - Honours Presentation
ggoltsov
2
1.6k
Extracting the Meaning: Painless processing and analysis of image data with Fiji and Ruby
ggoltsov
0
160
Ninja Code
ggoltsov
1
2.4k
Other Decks in Programming
See All in Programming
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.5k
CSC305 Lecture 01
javiergs
PRO
1
400
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
330
Swift Concurrency - 状態監視の罠
objectiveaudio
2
450
CSC305 Lecture 04
javiergs
PRO
0
250
Catch Up: Go Style Guide Update
andpad
0
170
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
370
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
380
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
680
CSC509 Lecture 03
javiergs
PRO
0
330
CSC509 Lecture 06
javiergs
PRO
0
240
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
A designer walks into a library…
pauljervisheath
209
24k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
BBQ
matthewcrist
89
9.8k
Visualization
eitanlees
148
16k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Fireside Chat
paigeccino
40
3.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
Building an army of robots
kneath
306
46k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Transcript
Beginning ClojureScript How not to learn a new language @gregoltsov
www.gregory.goltsov.info
[email protected]
None
Watched & loved Simple Made Easy. “I’m learning Clojure”
Watched & loved Simple Made Easy. “I’m learning Clojure”
This was 5 years ago
Demo
— Why? — Too much Angular. Front-end never felt right.
Gulp, webpack, whaaa?
Enter ClojureScript Re-frame Re-frisk Figwheel
— Re-frame — Amazing wiki Starter apps Simple toolbelt Easy-ish
to start for noobs like me
— Re-frame — A lot of JS intro with Leaflet.js
Translating to JS is annoying to begin with, but Figwheel kicks in. DB as a global state + no args events for super-quick prototyping.
— Re-com + re-frisk — Crazy fast for building interfaces.
No more CSS hate. Hard to style nicely. Global state + re-frist = happiness.
Starter App TodoMVC
Lessons learned
If you’re starting, Clojure + Emacs = Fail
Start with tech you already know Python + Flask
lein vs boot
lein vs boot
tooo vs calendar
todo vs calendar Plan (getplan.co) vs Todoist
4clojure?
4clojure?
Do not seek to follow in the footsteps of the
wise; seek what they sought — Matsuo Basho
Commit to a project
Commit to a project
Commit to a giving a talk I have no idea
what I’m doing
Consistency >> Inspiration
1 hour daily “one small improvement” rewarding 3 hours every
Saturday huge leap daunting, feeling behind Consistency >> Inspiration
Decent resources Lambda Island, helps with JS intro CLJSJS for
importing JS libraries re-frame-template for general awesomeness Clojure for Brave and True — great learning book Parens of the Dead — funky way of learning CLJS Speaking.io — Because “imagine everyone's naked” is terrible advice.
(end rant) Thanks! @gregoltsov www.gregory.goltsov.info
[email protected]