Why is Jepsen written in Clojure?

Jepsen is written in Clojure because it’s built for testing concurrent systems, especially databases. The language offers good support for concurrency with its immutable, persistent data structures and excellent concurrency support. Clojure’s Java interop also makes it compatible with most database clients. Additionally, Clojure’s concise and adaptable nature, along with its macro system, make it well-suited for experimental work and prototyping. The language’s data structures and standard library functions are highly praised, and its performance is considered good enough for the testing needs. Clojure is also a stable language with less rapidly-rotting libraries compared to Scala or Ruby. However, it does have drawbacks such as a small community, lack of a widely accepted static typing system, frustrating JVM primitive handling, and poor error messages. Nonetheless, after prototyping Jepsen in different languages, Clojure was deemed the best choice.

https://aphyr.com/posts/367-why-is-jepsen-written-in-clojure

To top