SlideShare a Scribd company logo
1 of 13
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
There are “killer” decisions that boost a language
maturity and adoption
Maturity
1959 20171985 1990 1995 2007 2011
Cobol C++ Haskell Java Clojure Kotlin Rust
1958
Lisp
Adoption: 2018 top 20 languages
Clojure’s 3 killer design decisions
1. Solve everyday problems
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
2. Hosted on JVM
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
3. Effective governance
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
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
Questions?
https://www.lucagrulla.com
Signal Media is hiring!
https://signalmedia.co/solve-big-challenges/

More Related Content

Similar to Clojure's killer design decisions

Similar to Clojure's killer design decisions (20)

Modern ClojureScript
Modern ClojureScriptModern ClojureScript
Modern ClojureScript
 
TSC BoF: OSS Toolchain Discussion - SFO17-409
TSC BoF: OSS Toolchain Discussion - SFO17-409TSC BoF: OSS Toolchain Discussion - SFO17-409
TSC BoF: OSS Toolchain Discussion - SFO17-409
 
The Ring programming language version 1.5.3 book - Part 186 of 194
The Ring programming language version 1.5.3 book - Part 186 of 194The Ring programming language version 1.5.3 book - Part 186 of 194
The Ring programming language version 1.5.3 book - Part 186 of 194
 
Leveraging Open Standards to Build Highly Extensible Autonomous Systems
Leveraging Open Standards to Build Highly Extensible Autonomous SystemsLeveraging Open Standards to Build Highly Extensible Autonomous Systems
Leveraging Open Standards to Build Highly Extensible Autonomous Systems
 
LinuxCon Europe 2013
LinuxCon Europe 2013LinuxCon Europe 2013
LinuxCon Europe 2013
 
Kotlin for Android
Kotlin for AndroidKotlin for Android
Kotlin for Android
 
GitOps , done Right
GitOps , done RightGitOps , done Right
GitOps , done Right
 
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
 
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
Xavier Amatriain, VP of Engineering, Quora at MLconf SF - 11/13/15
 
10 more lessons learned from building Machine Learning systems - MLConf
10 more lessons learned from building Machine Learning systems - MLConf10 more lessons learned from building Machine Learning systems - MLConf
10 more lessons learned from building Machine Learning systems - MLConf
 
10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems10 more lessons learned from building Machine Learning systems
10 more lessons learned from building Machine Learning systems
 
Our Concurrent Past; Our Distributed Future
Our Concurrent Past; Our Distributed FutureOur Concurrent Past; Our Distributed Future
Our Concurrent Past; Our Distributed Future
 
Workday's Next Generation Private Cloud
Workday's Next Generation Private CloudWorkday's Next Generation Private Cloud
Workday's Next Generation Private Cloud
 
Microservices - Please, don't
Microservices - Please, don'tMicroservices - Please, don't
Microservices - Please, don't
 
Docker, Microservices, and the Service Mesh
Docker, Microservices, and the Service MeshDocker, Microservices, and the Service Mesh
Docker, Microservices, and the Service Mesh
 
LCU14 303- Toolchain Collaboration
LCU14 303- Toolchain CollaborationLCU14 303- Toolchain Collaboration
LCU14 303- Toolchain Collaboration
 
Srividhya_pm_resume_latest
Srividhya_pm_resume_latestSrividhya_pm_resume_latest
Srividhya_pm_resume_latest
 
JR2021 Julia computing : The future of AI/ML
JR2021 Julia computing : The future of AI/MLJR2021 Julia computing : The future of AI/ML
JR2021 Julia computing : The future of AI/ML
 
Cprogramminginterviewquestions 120622074544-phpapp01
Cprogramminginterviewquestions 120622074544-phpapp01Cprogramminginterviewquestions 120622074544-phpapp01
Cprogramminginterviewquestions 120622074544-phpapp01
 
Long Life Software
Long Life SoftwareLong Life Software
Long Life Software
 

More from Luca Grulla

Il grande bluff delle stime
Il grande bluff delle stimeIl grande bluff delle stime
Il grande bluff delle stime
Luca Grulla
 
Agile Estimating And Planning
Agile Estimating And PlanningAgile Estimating And Planning
Agile Estimating And Planning
Luca Grulla
 

More from Luca Grulla (9)

Change a gear up with Evolutionary Architecture
Change a gear up with Evolutionary ArchitectureChange a gear up with Evolutionary Architecture
Change a gear up with Evolutionary Architecture
 
Impact! Drive innovation from the front seat
Impact!  Drive innovation from the front seatImpact!  Drive innovation from the front seat
Impact! Drive innovation from the front seat
 
Innovation at speed
Innovation at speedInnovation at speed
Innovation at speed
 
Embracing Clojure: a journey into Clojure adoption
Embracing Clojure: a journey into Clojure adoptionEmbracing Clojure: a journey into Clojure adoption
Embracing Clojure: a journey into Clojure adoption
 
Firehose
FirehoseFirehose
Firehose
 
Il grande bluff delle stime
Il grande bluff delle stimeIl grande bluff delle stime
Il grande bluff delle stime
 
Javascript testing IAD2010
Javascript testing IAD2010Javascript testing IAD2010
Javascript testing IAD2010
 
Agile Estimating And Planning
Agile Estimating And PlanningAgile Estimating And Planning
Agile Estimating And Planning
 
Retrospectives Techniques
Retrospectives TechniquesRetrospectives Techniques
Retrospectives Techniques
 

Recently uploaded

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 

Clojure's killer design decisions

  • 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. There are “killer” decisions that boost a language maturity and adoption
  • 3. Maturity 1959 20171985 1990 1995 2007 2011 Cobol C++ Haskell Java Clojure Kotlin Rust 1958 Lisp
  • 4. Adoption: 2018 top 20 languages
  • 5. Clojure’s 3 killer design decisions
  • 6. 1. Solve everyday problems
  • 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
  • 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
  • 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. 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. Questions? https://www.lucagrulla.com Signal Media is hiring! https://signalmedia.co/solve-big-challenges/