Clojure Lightning Talk

8,432 views

Published on

David Nolen gives a lightning talk about Clojure

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
8,432
On SlideShare
0
From Embeds
0
Number of Embeds
7,473
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Clojure Lightning Talk

  1. 1. JS.Next.Next.Next...
  2. 2. We could talk about
  3. 3. Hard Stuff
  4. 4. Easy Stuff
  5. 5. ?
  6. 6. ClojureScript
  7. 7. First, JavaScript
  8. 8. JavaScript ismainstreaming functional programming
  9. 9. JavaScript ismainstreaming alternative object systems
  10. 10. Yet JavaScript has serious problems
  11. 11. Problems๏  Language has woeful deficiencies๏  Yet, standardization process moves at a glacial pace๏  Many, many stakeholders๏  Legacy Browsers
  12. 12. Solutions
  13. 13. Build your own language on top of JS!
  14. 14. CoffeeScript
  15. 15. 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.
  16. 16. Browser REPL & Friends๏  Develop against any browser live without refreshing๏  Richer data structures - Sets anyone? ๏  Rhino works, Node.js another great target
  17. 17. The Compiler & Friends๏  ~1000 lines of code๏  Easy to hack๏  Google Closure Compiler works incredible magic - inlining, renaming, dead code elimination
  18. 18. Language Features๏  Add language features via macros๏  Hate callbacks? Add delimited continuations๏  Want Scala/Haskell style pattern matching - it s a library
  19. 19. 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
  20. 20. 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
  21. 21. Thanks!

×