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

Why I'll never be a Clojure dev

Matt Ball
November 13, 2013

Why I'll never be a Clojure dev

But why I think it is still pretty awesome (a brief intro to Clojure).

Matt Ball

November 13, 2013
Tweet

More Decks by Matt Ball

Other Decks in Programming

Transcript

  1. New word! • Homoiconicity – From the Greek words: •

    Homo – meaning the same • Icon – meaning representation • In the context of Clojure: – It means that the language as text has the same structure as it’s abstract syntax tree (AST).
  2. WAT

  3. Problems • Clojure attempts to solve a known problem in

    software… – All languages are rubbish!* • So why build another one? Because there wasn’t one that: – Was a Lisp – Functional first – Symbiotic with established platforms – Designed for concurrency * Statement may or may not be true – who knows!
  4. Clojure is • Dynamically typed • Runs on various existing

    platforms, which means massive portability! – Java Runtime (this is the primary target) – .NET CLR (ClojureCLR) – JavaScript (ClojureScript) – Python (Clojure-Py) • Functional – Data + Algorithms – Immutable Values – Immutable collections and awesome library to work with them • Macros • Quite fun – Has a REPL (seriously fast feedback) – Because it makes you think quite hard
  5. Awesome ecosystem • Excellent community: – Github.com/clojure – Twitter #clojure

    • Leiningen – Automation of Clojure projects (without setting your hair on fire) • Build • Test • Package • Dependencies