[2/2] Clojure: The Documentary (Category Architecture)
Continue. analysis I will tell you about the remaining interesting moments that I remember.
4Concurrency does not need to "win by loki" Clojure proposes that most of the data can be freely shuffled between threads because it is immutable. And where the state does change, let it happen through explicit and coordinated mechanisms: refs, atoms, agents, STM. The Clojure documentation is straight describedImmutable core data structures are easily shared between threads, and state change is coordinated without manual conflict management through lock-and.
5Practicality is more important than ideological purity Clojure is not yet another beautiful language in a vacuum. He landed on JVM because it already had infrastructure, libraries, performance, enterprise client trust, and access to existing Java code. Clojure wanted to be Lisp for functional programming, symbiotic with an established platform and designed for concurrency. For me, this is one of the main lessons of the film. A new technology gets a chance not when it’s “right,” but when it combines a strong idea with the existing business reality.
6Stability is not a lack of development, but a product feature The film talks a lot about the conservative approach to the development of Clojure: not to accept everything, to be able to say “no”, to maintain compatibility, not to break the old code for the sense of movement. Clojure release 1.0 held 2009 The year was the moment of stabilization of the language core, and then the focus was on backward compatibility.
7Datomic is the same philosophy, only at the data level. Datomic in this story looks like a continuation of the same idea: data is facts, history is important, the past should not be rewritten. Official website of Datomic It describes it as a distributed transaction database where you can use the entire history of critical data, not just the current state; facts are not update-in-place, data is stored by default, there is audit and query history.
For banks and fintech, this sounds almost obvious. But it's funny that in normal backend development, we often still design systems as if the past could just be rubbed with an update request. In general, the documentary reminds well: Clojure is not just a language with brackets. This is an attempt to answer the question: can we build programs out of simpler things?
#Architecture #SoftwareDesign #EngineeringManagement #SystemDesign