Upgrade to Pro — share decks privately, control downloads, hide ads and more …

My 7 Surprises in Clojure

My 7 Surprises in Clojure

Slides to my talk on :clojureD 2017

Michael Pershyn

February 25, 2017
Tweet

More Decks by Michael Pershyn

Other Decks in Programming

Transcript

  1. My way to clojure Autoit3 2005 6 7 8 9

    10 11 12 13 14 15 16 17 C# python clojure C++
  2. 5 It is possible to happily live without • Modifying

    mutable variables • Using assignments • Using (jump-) control structures • Conceptualising data structures word-by-word • Non-determinism caused by concurrent threads accessing mutable state • Boilerplate code
  3. 9 Stop using lots of things • Low-level concepts of

    thread, mutex and semaphores • GIL Workarounds • Debuger to debug all the related issues, caused by mutable state and non-determinism. That was real pain.
  4. 13

  5. 21 • Lisp 1959 • Actors 1973 • CSP (Communicating

    Sequential Processes) 1977 • ... History
  6. 23 The idea was to write 7. But good stuf

    didn‘t ft. • I was genuinely excited how well it works with big data • Cascalog & Storm ft perfectly with clojure • Solid base (JVM, Lisp, Libraries) • Rapid prototyping & robust production in same language • core.async • How powerful macros are • I probably stop here.