Clojure is a computer programming language notable for its unique combination of a variety of different technologies. It's part of the LISP (List Processor) family of computer programming languages, an old and venerable school of writing computer code. Clojure compiles to Java for the Java Virtual Machine, so Clojure works anywhere Java works. A newer variant of Clojure, ClojureScript, compiles to Javascript, so it also works as an effective tool for dynamic web programming.
The OpenMarkets technology team harnesses the capabilities of both Clojure and ClojureScript, integral technologies that drive the OpenMarkets Exchange. The platform stands as a pivotal B2B marketplace, facilitating the exploration of products and acquisition of quotes. It also hosts first-of-its-kind digital equipment formularies, serving as a guide for end users to connect with preferred suppliers and standardized products. Clojure is used in Exchange's internal API and middleware for processing and delivering data. The Exchange frontend is powered by ClojureScript (as well as the Reframe library for developing user interfaces) with dynamic functionality for a smooth and responsive user experience. Exchange's frontend and backend also utilize the Clojure Spec data typing system to ensure data consistency throughout Exchange.
Of the many computer programming languages to use, why use Clojure at OpenMarkets?
Because Clojure is an effective language, capable of handling any development request with less code and fewer bugs. Clojure by default is concurrent (different pieces of the same algorithm can be processed in any order without affecting the outcome) and immutable (values in a computer program never change, and any new values are functions of old values, not mutations of internal computer state), which means scaling up our software is easy. Clojure enables our team to tackle tough commercial challenges that save hospitals and suppliers time and money, simplifying healthcare equipment purchasing and making healthcare more affordable.