Intro to Clojure
For programmers
Lightning Talk
• a dialect of LISP
• Runs on JVM, CLI, Javascript
• Functional
• Immutable
• Designed by Programmers for Programmers
Rich Hickey
created in 2007
What is it?
Syntax
• Keyword ... :a :b
• Symbol ... println
• String ... "Hi Mom"
• Integer ... 42
List All The Things
• Everything is a list with ( )
• (function-name parameter parameter)
• (println "hello world")
• (+ 1 2)
Data Structures
• Vector (collection) [1 2 3]
• Map (hash) {:a 1 :b 2 :c 3}
• Set (unique collection) #{1 2 3 }
( ) aren’t that bad!
nREPL
• Sort of like IRB/Pry for ruby, but better
• Evaluate code from editor Light Table, Emacs,
Sublime and others
Cool Libraries
• OM - Facebook react library
• compojure - websites
• korma - object relation mapper for databases
• play-clj - game library
• quil - a wrapper around Processing for drawing/animation
• overtone - playing musical sounds
• synaptic - neural networks
• cascalog - data processing
• datomic - query engine built on top of database storage
Austin ClojureBridge
• March 13, 14
• Rackspace North Campus
• Friday night install fest 6pm-8pm
• Saturday workshop 9am-3:30pm, 4:00 after party
• Saturday night after party at Pinballz Arcade
• Free and food/beverages provided by sponsors
• Rackspace, DRW, Pragmatic Programmers,
O’Reilly, Threatgrid/Cisco
Resources
• Clojure from the Ground Up
• Clojure for the Brave and True
• Clojure Programming
• Joy of Clojure
Search for these videos:
• Rich Hickey
• Simple Made Easy
• Stuart Halloway
• Intro to Clojure from NDC
• Simplicity Ain't Easy

Intro to Clojure lightningtalk

  • 1.
    Intro to Clojure Forprogrammers Lightning Talk
  • 2.
    • a dialectof LISP • Runs on JVM, CLI, Javascript • Functional • Immutable • Designed by Programmers for Programmers Rich Hickey created in 2007 What is it?
  • 3.
    Syntax • Keyword ...:a :b • Symbol ... println • String ... "Hi Mom" • Integer ... 42
  • 4.
    List All TheThings • Everything is a list with ( ) • (function-name parameter parameter) • (println "hello world") • (+ 1 2)
  • 5.
    Data Structures • Vector(collection) [1 2 3] • Map (hash) {:a 1 :b 2 :c 3} • Set (unique collection) #{1 2 3 }
  • 6.
    ( ) aren’tthat bad!
  • 7.
    nREPL • Sort oflike IRB/Pry for ruby, but better • Evaluate code from editor Light Table, Emacs, Sublime and others
  • 8.
    Cool Libraries • OM- Facebook react library • compojure - websites • korma - object relation mapper for databases • play-clj - game library • quil - a wrapper around Processing for drawing/animation • overtone - playing musical sounds • synaptic - neural networks • cascalog - data processing • datomic - query engine built on top of database storage
  • 9.
    Austin ClojureBridge • March13, 14 • Rackspace North Campus • Friday night install fest 6pm-8pm • Saturday workshop 9am-3:30pm, 4:00 after party • Saturday night after party at Pinballz Arcade • Free and food/beverages provided by sponsors • Rackspace, DRW, Pragmatic Programmers, O’Reilly, Threatgrid/Cisco
  • 10.
    Resources • Clojure fromthe Ground Up • Clojure for the Brave and True • Clojure Programming • Joy of Clojure Search for these videos: • Rich Hickey • Simple Made Easy • Stuart Halloway • Intro to Clojure from NDC • Simplicity Ain't Easy

Editor's Notes

  • #9 OM is a wrapper around the Facebook React library Compojure is somewhat like ruby Rack Korma is a ORM, where you can create entities and have easy access to data, awesome play-cli is a wrapper around libGDX, desktop, mobile apps quil - creates graphics and animations synaptic - neural networks used for machine learning casalog - query language for hadoop datomic - a database, which separates storage from queries in a unique way