On this review, we are going to examine Rick Hickey's comments and remarks on the Software engineering Podcast
"This episode is a conversation with Rich Hickey about his programming language Clojure. Clojure is a Lisp dialect that runs on top of the JVM that comes with – among other things – persistent data structures and transactional memory, both very useful for writing concurrent applications."
The episode features Rick explaining the rationale behind clojure, which proves to be incredible well spoken. The first point he makes is that he wanted to create a language that was portable, so having it on the JVM really provides the flexibility that we've seen on new languages like JRuby. The JVM, has been proven to be incredibly fast.
He also mentions that clojure has a strong mathematical root, as combining sets, vectors and maps. They resemble more their mathematical equivalent, which is good for solving complex mathematical equations.. For me personally I think computer scientist are going to find the clojure syntax more compatible with complex set theory equations more appellable than other languages. Specially because of the different implications of vectors and maps being bijective.
As mentioned in our previous blog with Dick, Clojure lets immutability be part of our stack, which is a massive advantage over other stacks. as behavior is clearly defined.
Clojure also allows you to have a consistent API with the JVM and Java. Which creates a rich set of applications that can interact with one another that allow different paths of combination. We could think about a website designed in clojure interacting with JRuby and Apache Camel, which by itself, proposes to be quite interesting.