My 7 Surprises in Clojure

My 7 Surprises in Clojure

Slides to my talk on :clojureD 2017

3997614cf9ef044e5f569318fbfc64d5?s=128

Michael Pershyn

February 25, 2017
Tweet

Transcript

  1. 2.

    My way to clojure Autoit3 2005 6 7 8 9

    10 11 12 13 14 15 16 17 C# python clojure C++
  2. 5.

    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.

    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.

    13

  5. 21.

    21 • Lisp 1959 • Actors 1973 • CSP (Communicating

    Sequential Processes) 1977 • ... History
  6. 23.

    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.