Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Clojure's killer design decisions

97 views

Published on

The 3 key decisions that allows Clojure adoption and maturiy.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Clojure's killer design decisions

  1. 1. Clojure’s killer design decisions 3 key decisions that boosted Clojure adoption and maturity Luca Grulla - VP Engineering, Signal Media Functional Meetup, London Sept 2018
  2. 2. There are “killer” decisions that boost a language maturity and adoption
  3. 3. Maturity 1959 20171985 1990 1995 2007 2011 Cobol C++ Haskell Java Clojure Kotlin Rust 1958 Lisp
  4. 4. Adoption: 2018 top 20 languages
  5. 5. Clojure’s 3 killer design decisions
  6. 6. 1. Solve everyday problems
  7. 7. 1 - Solve everyday problems ● Boilerplate code ○ Lisp + FP + dynamic => small core and a terse syntax ● Concurrency & parallelism ○ Immutable data structure for simpler concurrency ○ Great primitives for parallelism
  8. 8. 2. Hosted on JVM
  9. 9. 2 - Hosted on JVM ● “Use a runtime that people accept” ○ The JVM is loved and trusted by Ops and Security teams ● “Use other’s people code” ○ Interoperability with the VAST Java ecosystem ● Focus on the language, not the runtime ○ Bet on JVM performance and on the continuous improvement of it
  10. 10. 3. Effective governance
  11. 11. 3 - Effective governance (BDFL) ● Significant innovations within the first 10 years ○ core.async ○ transducers ○ clojure.spec ● Open minded about adopting ideas from other communities/initiatives ○ clojure.spec⇔ RDF and Prismatic’s Schema ○ core.async⇔ Communicating Sequential Processes (CSP) ⇔ Go ○ core.typed
  12. 12. From design decisions to principles 1. Focus on your community a. Solve everyday problems 2. Be aware of the operational aspects a. Hosted on JVM 3. Keep innovating a. Effective governance
  13. 13. Questions? https://www.lucagrulla.com Signal Media is hiring! https://signalmedia.co/solve-big-challenges/

×