Slide 1

Slide 1 text

There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. – C.A.R. Hoare Wednesday 09 October 13

Slide 2

Slide 2 text

ROBERT STUTTAFORD CTO, COGNICIAN Notes: http://is.gd/leverage_clj #t4a #clojure Think. Chat. Change. Gain massive leverage in your tech stack with Clojure Wednesday 09 October 13

Slide 3

Slide 3 text

Poll Wednesday 09 October 13

Slide 4

Slide 4 text

Lisp Functional Immutable Dynamic(ish) Java & JS VMs Wednesday 09 October 13

Slide 5

Slide 5 text

Lithp ... er, Lisp Wednesday 09 October 13

Slide 6

Slide 6 text

Functional Programming Wednesday 09 October 13

Slide 7

Slide 7 text

Pure Functions Wednesday 09 October 13

Slide 8

Slide 8 text

What’s in witches now? Mutable data (in JavaScript) Wednesday 09 October 13

Slide 9

Slide 9 text

Wednesday 09 October 13

Slide 10

Slide 10 text

Immutable Data Wednesday 09 October 13

Slide 11

Slide 11 text

Immutable Data Wednesday 09 October 13

Slide 12

Slide 12 text

“Look, that's why there's rules, understand? So that you think before you break 'em.” – Terry Pratchett, Thief of Time Mutable data in Clojure Wednesday 09 October 13

Slide 13

Slide 13 text

Let’s see some code already! Wednesday 09 October 13

Slide 14

Slide 14 text

‣ Simple syntax ‣ Functions, mostly pure ‣ Immutable data ‣ Simple solutions ‣ Concise ‣ Easier to reason about In summary Wednesday 09 October 13

Slide 15

Slide 15 text

Thank you! Wednesday 09 October 13

Slide 16

Slide 16 text

Cape Town Clojure User Group •Meet two Thursday evenings a month •Next meet: 17 October 2013 •Venue: Codebridge in Claremont •clj_ug_ct on Twitter •Talk notes: http://is.gd/leverage_clj Wednesday 09 October 13