Slide 1

Slide 1 text

Beginning ClojureScript How not to learn a new language @gregoltsov www.gregory.goltsov.info gregory@goltsov.info

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Watched & loved Simple Made Easy. “I’m learning Clojure”

Slide 4

Slide 4 text

Watched & loved Simple Made Easy. “I’m learning Clojure”

Slide 5

Slide 5 text

This was 5 years ago

Slide 6

Slide 6 text

Demo

Slide 7

Slide 7 text

— Why? — Too much Angular. Front-end never felt right. Gulp, webpack, whaaa?

Slide 8

Slide 8 text

Enter ClojureScript Re-frame Re-frisk Figwheel

Slide 9

Slide 9 text

— Re-frame — Amazing wiki Starter apps Simple toolbelt Easy-ish to start for noobs like me

Slide 10

Slide 10 text

— 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.

Slide 11

Slide 11 text

— Re-com + re-frisk — Crazy fast for building interfaces. No more CSS hate. Hard to style nicely. Global state + re-frist = happiness.

Slide 12

Slide 12 text

Starter App TodoMVC

Slide 13

Slide 13 text

Lessons learned

Slide 14

Slide 14 text

If you’re starting, Clojure + Emacs = Fail

Slide 15

Slide 15 text

Start with tech you already know Python + Flask

Slide 16

Slide 16 text

lein vs boot

Slide 17

Slide 17 text

lein vs boot

Slide 18

Slide 18 text

tooo vs calendar

Slide 19

Slide 19 text

todo vs calendar Plan (getplan.co) vs Todoist

Slide 20

Slide 20 text

4clojure?

Slide 21

Slide 21 text

4clojure?

Slide 22

Slide 22 text

Do not seek to follow in the footsteps of the wise; seek what they sought — Matsuo Basho

Slide 23

Slide 23 text

Commit to a project

Slide 24

Slide 24 text

Commit to a project

Slide 25

Slide 25 text

Commit to a giving a talk I have no idea what I’m doing

Slide 26

Slide 26 text

Consistency >> Inspiration

Slide 27

Slide 27 text

1 hour daily “one small improvement” rewarding 3 hours every Saturday huge leap daunting, feeling behind Consistency >> Inspiration

Slide 28

Slide 28 text

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.

Slide 29

Slide 29 text

(end rant) Thanks! @gregoltsov www.gregory.goltsov.info gregory@goltsov.info