“Clojure is a “robust, practical and fast programming language” whose original design goals were aimed at giving developers “succinctness, flexibility and productivity”. It turns out that most organizations today are interested in achieving those very goals – as the landscape evolves, they need technologies that help them move faster, respond more effectively, and to take advantage of new architectures and infrastructure. In short, they need simple tools that help them be more agile.

In this, the sixth consecutive year of the State of Clojure survey, we are seeing the evidence that Clojure is moving across the chasm from a niche tool used by explorers and hobbyists to becoming a critical part of the commercial development landscape, and that its adoption is spreading both broadly among companies, but also more deeply within them.

Before we get to the results, we’d like to first thank everyone who took the time to respond to the survey this year. Response was up more than 75% this year, with 2,445 total responses to analyze. This kind of data is invaluable to the people and organizations using (or considering) Clojure today. As always, we’d also like to thank Chas Emerick for starting the survey back in 2010…”


An opinionated CQRS/ES implementation using Onyx, Datomic, DynamoDB, Kafka and Zookeeper

“An opinionated CQRS/ES implementation using Onyx, Datomic, DynamoDB, Kafka and Zookeeper.

The problem

Best to start with the core problem at hand:

The current relational database is too limiting. We’re dropping all sorts of interesting data on the ground because we don’t have suitable pigeonholes to put it into.

Any system that has enough interesting interaction happening to it faces this problem. The data that we do end up putting into our database tends to inconsistent design. It is then risky to change down the line because it gets treated as our system of record.

To this end, we’ve been doing research into Event Sourcing (ES). This led to Command/Query Responsibility Segregation (CQRS) and touched on the area of Domain Driven Design (DDD)…”

Compojure Address Book Part 1

“Clojure is a great language that is continuing to improve itself and expand its user base year over year. The Clojure ecosystem has many great libraries focused on being highly composable. This composability allows developers to easily build impressive applications from seemingly simple parts. Once you have a solid understanding of how Clojure libraries fit together, integration between them can become very intuitive. However, if you have not reached this level of understanding, knowing how all of the parts fit together can be daunting. Fear not, this series will walk you through start to finish, building a tested compojure web app backed by a Postgres Database…”