clojure lightning talk

Post on 06-May-2015

8.167 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

David Nolen gives a lightning talk about Clojure

TRANSCRIPT

JS.Next.Next.Next...

We could talk about

“Hard” Stuff

“Easy” Stuff

?

ClojureScript

First, JavaScript

JavaScript is mainstreaming functional

programming

JavaScript is mainstreaming alternative

object systems

Yet JavaScript has serious problems

Problems

๏  Language has woeful deficiencies ๏  Yet, standardization process moves

at a glacial pace ๏  Many, many stakeholders ๏  Legacy Browsers

Solutions

Build your own language on top of JS!

CoffeeScript

ClojureScript ๏  Namespaces without the tedium ๏  Can modify native prototypes freely

(because of ubiquitous namespacing). Want to add methods to NodeList? Go ahead!

๏  Ships with rich abstractions - invent new APIs only as a last resort. Bye, bye interoperability nightmares.

Browser REPL & Friends

๏  Develop against any browser live without refreshing

๏  Richer data structures - Sets anyone? ๏  Rhino works, Node.js another great

target

The Compiler & Friends

๏  ~1000 lines of code ๏  Easy to hack ๏  Google Closure Compiler works

incredible magic - inlining, renaming, dead code elimination

Language Features

๏  Add language features via macros ๏  Hate callbacks? Add delimited

continuations ๏  Want Scala/Haskell style pattern

matching - it’s a library

Takeaways ๏  The web changes very, very quickly -

complexity surface growing (many possible clients)

๏  Our tools should allow us to control this complexity and gain competitive advantage

๏  JavaScript is ill-suited for the challenges we want to face

Clojure(Script)

๏  Robust proven backend technology

๏  Can now leverage the same powerful abstractions on the client

๏  The language can be incrementally grown (via libraries) to adapt to the unique and changing needs of your project

Thanks!

top related