Published Sep 3, 2019

Episode 158: Rich Hickey on Clojure

Rich Hickey delves into the innovative design and practical applications of Clojure, a versatile Lisp dialect for the JVM, showcasing its concurrency prowess, simplicity, and unique features like immutability and metaprogramming, presenting it as an empowering alternative to Java.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Versatility

    Clojure's versatility is evident in its wide range of applications, from web development to data analysis. highlights its use in machine learning, particularly with Flightcaster, where Clojure is employed for analytics on Hadoop clusters. This adaptability allows users to directly implement models in production, bypassing traditional handoffs to programmers 1. He notes, "It was designed to be a general-purpose language, and it's seeing wide applications in vastly different domains."

    It was designed to be a general-purpose language, and it's seeing wide applications in vastly different domains.

    ---

    Clojure's adoption varies across industries, influenced by their conservatism and needs, yet its widespread use is already notable 2.

       

    Concurrency

    Concurrency is a key feature of Clojure, designed to handle complex real-world scenarios effectively. explains that Clojure's concurrency model is rooted in immutable data structures, which simplify managing state changes and reduce complexity in large object-oriented programs 3. He states, "Clojure's approach to data structures and object orientation and concurrency are all tied together."

    Clojure's approach to data structures and object orientation and concurrency are all tied together.

    ---

    Additionally, Clojure's type inference allows for optimized code generation, enhancing performance without precluding flexibility, making it comparable to Java in terms of execution speed 4.

Related Episodes