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

Why I'll never be a Clojure dev

Avatar for Matt Ball 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).

Avatar for Matt Ball

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