I am so thankful for Clojure. It enabled me to run a solo-founder business for the last 10 years in a sustainable and maintainable way. It allows me to manage a large complex codebase (client+server) because of low incidental complexity and the fact that the server and the client share most of the business logic code.
Also, thanks to the focus on stability and practical usage, I don't get my rug pulled out from under me every couple of years, like with so many other languages and environments. This is incredibly important and not immediately visible when "choosing a language to use", because the new shiny and the warm fuzzy are irresistible pulls. Clojure is not the new shiny and it's not the warm fuzzy, but it is your stable long-term companion for building complex software that is maintainable.
Looking back Clojure has been the best thing to happen to me in this industry
I doubled my salary using it and changed industries to much more stable industries
I've been to a lot of conferences and meet ups in my career but the feeling of joy and inclusivity at Heart of Clojure was unreal
The community is still alive and well, my favourite passionate sub culture in the Clojure community at the moment is the Jank community, building a Clojure Dialect for low level work an incredible amount of work but they're doing it anyway
The problem is businesses aren't really interested in stability integrity or joy when it comes to their languages they want to commodify their developers by forcing them to write the most popular and replaceable languages possible
Then they're surprised when the quality of developers they're able to hire drops and the quality of their software drops it's all just a race to the bottom - emboldening companies to try and replace developers with AI and destroy their own companies in the process
What surprised me the most in working with Clojure commercially is how many commercial developers did not get the ethos of the language or have watched the rich hickey talks or use the REPL, all they see is restrictions and unfamiliarity I don't know how these people got hired without a passion for the language - lots of them get promoted to run Clojure codebases
> What surprised me the most in working with Clojure commercially is how many commercial developers did not get the ethos of the language or have watched the rich hickey talks or use the REPL
Yeah, this continues to stick out. The amount of people I've come across who do Clojure development and restart the application (really, the JVM process, kill it and launch it again, over and over!) is way too high, considering the first "real" reason I had for moving wholesale to Clojure was a shorter feedback loop. If that's not one of your goals when moving to Clojure, I'm not sure what you're up to really.
Sure, so once a week or so you need to restart the process if you end up like that.
What I've seen people do, is restart the process after each change like you typically do in other languages, rather than evaluating the current form...
The thing that happens to me is that I'll get something working in the REPL, then try to deploy it and it breaks—because unbeknownst to me, I had gotten my REPL into some state where everything was working, but a cold start doesn't look the same.
Is this a skill issue? Absolutely. Do I still restart the REPL frequently (not after every def, but often) just to make sure I'm working with the same environment my program will be experiencing at run time? Yes I absolutely do.
In a previous life, I wrote Clojure every day and still look back fondly attending Clojure/Conj and sitting next to Rich Hickey and other Clojure greats at dinner.
My first startup was all Clojure. AWS only had a dozen or two products and I think we must have been the first to compile Clojure to JS and run it on Lambda in production (the only runtime was Node.js 0.10 at the time).
I’m no longer in a professional engineering position and have a family and toddler so less time for learning about or playing with program languages. Clojure is what really made me first start thinking about programming languages and down the rabbit hole of scala and Haskell and idris and type theory books. Which are incredible and I can’t recommend more and also not remotely practical.
I miss it. I’m now more removed and building software as a means to an end.
I miss it just like I miss the program language and type theory group meetups in SF and working through problems in dependently types languages like Idris and being out of my depth.
I felt exactly the same, but recently started building side projects again in Haskell and fell in love again. Really brought my passion for software development back. 2026 feels perfect for that, as AI can help with things where one was stuck, not the stuck in a good learning way, forever in the past. Now is the time!
I’ve been using Clojure since 2013, and can say that it has been an enormous positive force in my life. I’ve been a very unorthodox user, most of my artworks were built using Clojure in some way. But I’ve also worked in industry, and there I think Clojure helped me avoid burnout on more than one occasion. Especially when running a startup built half on it :)
It’s also been a privilege to participate in the community. From Clojure west to the Conj, to the online discussions. Huge thanks to everyone that’s made this possible over the decades.
Clojure is my favourite alternative language on the JVM, besides offering what Lisps have provided for decades, their philosophy of embracing the host platform, instead of all the talk that the next JVM will be rewriten in it like some others do, makes being around Clojure folks much more appealing.
When I was younger this actually irked me a bit. I wasn't familiar with either, so it felt burdensome to me. The tooling also wasn't as good as it is now.
However there's no doubt that this is one of the primary reasons why Clojure became relevant and widely used (for a niche language). Seamless integration (or even improved integration) is very useful.
Another language that takes this approach is Zig. My intuition is that here as well, it's a unique selling point that will help with adoption and day to day usefulness.
Yes, sad there's no European presence (unless I missed someone). There's tons of Clojure over there. Metosin, Juxt, Borkent, Gaiwan (Arne), Flexiana, Peter Strömberg (Calva), Dustin Getz (hyperfiddle/electric), Christophe Grand (ClojureDart), Bojidar (CIDER), Renzo, and many, many more.
Incredible: I had not idea NuBank discovered Datomic first and that it's Datomic that led them to Clojure, 100 million+ customers, and eventually acquiring Cognitect.
Good to see David Nolen (aka "swanodette") is in the documentary too.
As a bonus here's a recent talk from David Nolen about Clojure/ClojureScript and using DOM morphing instead of React.
If you don't want to watch it all, just take two minutes to watch from 23m15s to 25m15s. He compares a behemoth slurping all the browser's CPU and RAM resources versus a 13 Kb of JavaScript + Web components and DOM morphing:
Emacs has always had a tight link with Lisp communities, due to its history, including ties to Lisp Machines, so naturally many use it.
However, as someone that rather use Lispworks, Allegro, Racket, there is also Cursive on top of InteliJ.
However note that XEmacs was my IDE replacement during my first UNIX decade, due to lack of proper alternatives, so I do know about what Emacs and its derivatives are capable of, no need for yes but replies.
I don't know if it's still the case, but at old clojure conferences, or meetups, or places of employment, emacs was a prereq and assumed (and the most enjoyable)
I think it was more like Emacs got Clojure development niceties early, particularly tight REPL integration.
Things have been different for well over five years --- about a third of Clojure's life. There are so many first-class options now. When teaching Clojure, I direct everybody to either VSCode + Calva, or Intellij + Cursive.
LSP has really upped the game too. I rebuilt my Emacs development workflow around LSP for all the things.
These days, I sometimes forget to fire up the REPL, because of all this fantastic "static analysis style" developer tooling by borkdude and eric dallo.
Much gratitude to all the toolsmiths from all over the Clojure ecosystem. Special shout-out to LightTable for upping the game for everybody. I was very sad when the project went dormant.
I work on a large Clojure codebase with AI, and I'm getting excellent results. Likely factors are code density, the resulting token density, and a lot of well-architected code that the AI can follow — I'm not sure exactly, but the results are really good.
Yeah I see this at work - people are sceptical that AI + Clojure even works
but in my experience its amazing the overall quality of Clojure code in the wild tends to be higher than your typical language so AI's training on Clojure tends to be on modern and high quality code and the language is very token efficient, you can also tell AI to interact with the REPL to avoid restarts
The only downside I've seen reported is mis-matched parens but for me models have been strong enough to balance parens for about a year at least it's not something I actively work-around even though there are work-arounds like brepl and others
Clojure had lousy error messages, agents deal with this well.
Clojure is capable of producing some of the most dense code I’ve ever seen, so manual code reviews really start to feel like a bottleneck unless your goal is to level up.
> Clojure is capable of producing some of the most dense code I’ve ever seen, so manual code reviews really start to feel like
For me it's the opposite, the dense code is easier to review, because the proposed changes are almost always smaller and more informative. Contrast a change in a typical TypeScript project where changes propagate across tens of files, that you need to jump in-between just to understand the context. In the time it takes me to ramp up understanding what the change is, I've already completed the review of a change in a Clojure program.
I would say dense code tends to help code reviews. It just is a bit unintuitive to spend minutes looking at a page of code when you are used to take a few seconds in more verbose languages.
I find it also easier to just grab the code and interactively play with it compared to do that with 40 pages of code.
I find it actually the best substrate to write AI tooling. All my custom MCPs are written in Clojure (bb). You hook up the agent to the REPL and let it go wild - it builds something nice. Also, Clojure is one of the most token efficient PLs.
Ask AI to build something. By default it will use python. Sometimes js or typescript.
Ask then to do the same thing in Clojure. The result is generally an order of magnitude better. Shorter, easier to read for both humans and llm. Easier to adapt to changes.
Not to mention that changes are easier to review, because there is less of them. Same semantic diff for JavaScript and Clojure looks vastly different, and I'll favor to review Clojure changes any day of the week.
One of the main problems I have with the models coding is the feedback loop is way down the chain from generation, it's out at the commit boundary for python when your hooks are running, maybe at the point where the model wants to push a PR. The REPL lets that happen during generation, and the other safety measures help immensely. Immutable data, STM, all of the features in Clojure that gave devs super powers now do the same for a model.
It definitely is more "mainstream" than others but I just don't see the same level of attention and enthusiasm around it anymore. I'm sure it is still being used in many places but like Elixir, hiring remains on the tough end.
Hiring good talent was always problematic. This has nothing to do with the quality, capacity, and robustness of the language or its relevance. Hiring people who would love to use Clojure but have no prior experience is not that difficult - it's just that every company wants an expert, but they don't want to offer expert salaries. In places where they do, the competition is nuts, on top of that, experienced Clojuristas typically get interviewed and scrutinized with the same level of rigor as architects.
The industry should have optimized for hiring people interested in PLs like Clojure instead of LeetCode drillers. Clojure is rarely the first, second, or even third programming language people choose to learn. It demands a specific vision, dedication, and discipline that fundamentally transforms how people think about computation, data flow, distributed systems, and concurrency. The ROI from hiring an average developer experienced in Clojure has the potential to significantly exceed that of a typical hire. Even when there's zero Clojure in prod.
I've had Clojure on my resume for 10 years, mainly to see if anyone would ask about it. Nobody ever has, until an interview a couple days ago. We'll see if it actually helps in leading to an offer, I guess.
I have the opposite experience - been using Clojure for over a decade and it feels like only that mattered for the last five jobs. Even though it's really only just one of many layers that required to do the job. I honestly would love to find a non-clj team and convince them to use it. There are so many useful scripts we write in babaska alone, it just sounds wasteful not to use that path, fully knowing of its existence.
Clojure is more relevant than ever in post agentic coding because of immutability and the REPL. The two big problems with agentic coding is context growing in unbounded fashion, and agents being able to get quick feedback on what they're doing. Mainstream languages fail on both accounts. I've found Clojure has been a great fit for keeping agents on track.
The double belt buckle is a pretty classic diffusion model artifact — it struggles with symmetrical accessories because it's essentially pattern-matching textures rather than understanding "this person is wearing one belt." Same reason you see six-fingered hands.
The repeated code on the steps is actually the more interesting tell to me. An artist would vary that deliberately for visual interest. A model just tiles what it learned looks like "code."
That said, the pencil sketch theory is compelling. Hybrid workflows where a human does the composition and an AI handles color/rendering are increasingly common, and they produce exactly this kind of uncanny result — strong underlying structure with strange surface artifacts.
Whether it is or isn't AI, the irony of a documentary about a language whose community deeply values craft and intentionality potentially using generated art for the thumbnail is at least worth a raised eyebrow. Not outrage-worthy, just... a little incongruous.
You know there's a saying in Russian, that roughly translates to: "an expert surgeon is capable of helping a bad dancer", which is on itself is a reference to another idiom: "a bad dancer always blames his own balls".
That's quickly becoming befitting for cases like this - so often people rush to blame AI without even trying to use their own reasoning. I don't know what to say, hope you find a good surgeon, because it is obvious - you're shit of a dancer.
The very official Clojure page in TFA links to clojure-mcp (written by the person who created figwheel: a famous ClojureScript library in the Clojure ecosystem) and other AI resources related to Clojure.
It's not because Rich doesn't want AI-generated pull-requests by people then taking credits that the Clojure community is anti-AI.
I use Claude Code CLI daily with Clojure, just not in a "write me five thousands lines of Clojure code I won't read" type of way.
I don't think it is, considering they highlighted it in a post about human craft [1]. I read somewhere it was illustrated by felipemelo.net, but can't find the reference anymore
There’s nothing odd about two belts in this situation. One is the belt for the pants and the other is the utility belt holding the pouches. You need to be able to add and remove the utilities without having your pants fall.
The weird choice is having a belt and suspenders. That only works as a fashion choice, which makes little sense for an explorer.
the scarf matches the one Rich is wearing near the end of the documentary. the code matches what's on the Clojure source code, even if it's an odd choice. the two belts are in the draft, even if only one of them features the logo. the artist's instagram has a bunch of well colorized artwork. I believe it is really human made
The BlueSky post has another interesting clue. The pencil sketch on the right. Seems possible a human artist drew the sketch, then had an AI model "colorize" it. And in so doing, maybe the AI model added the 3 genAI tells/artifacts I identified above.
As you demonstrated, AI is not needed to write slop, just because AI is involved doesn't make it slop. We are still very much in the control even if it is generation.
Also, thanks to the focus on stability and practical usage, I don't get my rug pulled out from under me every couple of years, like with so many other languages and environments. This is incredibly important and not immediately visible when "choosing a language to use", because the new shiny and the warm fuzzy are irresistible pulls. Clojure is not the new shiny and it's not the warm fuzzy, but it is your stable long-term companion for building complex software that is maintainable.
I doubled my salary using it and changed industries to much more stable industries
I've been to a lot of conferences and meet ups in my career but the feeling of joy and inclusivity at Heart of Clojure was unreal
The community is still alive and well, my favourite passionate sub culture in the Clojure community at the moment is the Jank community, building a Clojure Dialect for low level work an incredible amount of work but they're doing it anyway
The problem is businesses aren't really interested in stability integrity or joy when it comes to their languages they want to commodify their developers by forcing them to write the most popular and replaceable languages possible
Then they're surprised when the quality of developers they're able to hire drops and the quality of their software drops it's all just a race to the bottom - emboldening companies to try and replace developers with AI and destroy their own companies in the process
What surprised me the most in working with Clojure commercially is how many commercial developers did not get the ethos of the language or have watched the rich hickey talks or use the REPL, all they see is restrictions and unfamiliarity I don't know how these people got hired without a passion for the language - lots of them get promoted to run Clojure codebases
Yeah, this continues to stick out. The amount of people I've come across who do Clojure development and restart the application (really, the JVM process, kill it and launch it again, over and over!) is way too high, considering the first "real" reason I had for moving wholesale to Clojure was a shorter feedback loop. If that's not one of your goals when moving to Clojure, I'm not sure what you're up to really.
What I've seen people do, is restart the process after each change like you typically do in other languages, rather than evaluating the current form...
Is this a skill issue? Absolutely. Do I still restart the REPL frequently (not after every def, but often) just to make sure I'm working with the same environment my program will be experiencing at run time? Yes I absolutely do.
My first startup was all Clojure. AWS only had a dozen or two products and I think we must have been the first to compile Clojure to JS and run it on Lambda in production (the only runtime was Node.js 0.10 at the time).
Anyway, I cannot wait to watch this
studying them makes you smarter, which makes you better at using the practical stuff.
I miss it just like I miss the program language and type theory group meetups in SF and working through problems in dependently types languages like Idris and being out of my depth.
It’s also been a privilege to participate in the community. From Clojure west to the Conj, to the online discussions. Huge thanks to everyone that’s made this possible over the decades.
However there's no doubt that this is one of the primary reasons why Clojure became relevant and widely used (for a niche language). Seamless integration (or even improved integration) is very useful.
Another language that takes this approach is Zig. My intuition is that here as well, it's a unique selling point that will help with adoption and day to day usefulness.
Good to see David Nolen (aka "swanodette") is in the documentary too.
As a bonus here's a recent talk from David Nolen about Clojure/ClojureScript and using DOM morphing instead of React.
If you don't want to watch it all, just take two minutes to watch from 23m15s to 25m15s. He compares a behemoth slurping all the browser's CPU and RAM resources versus a 13 Kb of JavaScript + Web components and DOM morphing:
https://youtu.be/BeE00vGC36E
His talk is presented from Emacs, gotta love that too...
However, as someone that rather use Lispworks, Allegro, Racket, there is also Cursive on top of InteliJ.
However note that XEmacs was my IDE replacement during my first UNIX decade, due to lack of proper alternatives, so I do know about what Emacs and its derivatives are capable of, no need for yes but replies.
I maintain that Clojure is the best AI-first language due to the lightning-fast iteration via the nREPL and Clojure's token efficiency.
[^1]: https://petrustheron.com/posts/why-clojure.html
Things have been different for well over five years --- about a third of Clojure's life. There are so many first-class options now. When teaching Clojure, I direct everybody to either VSCode + Calva, or Intellij + Cursive.
LSP has really upped the game too. I rebuilt my Emacs development workflow around LSP for all the things.
These days, I sometimes forget to fire up the REPL, because of all this fantastic "static analysis style" developer tooling by borkdude and eric dallo.
Much gratitude to all the toolsmiths from all over the Clojure ecosystem. Special shout-out to LightTable for upping the game for everybody. I was very sad when the project went dormant.
In fact, I first presented Cursive at the conj 2014, and I'd been working on it in open beta for perhaps a year before that, so well over 10 years!
...all this fantastic "static analysis style" developer tooling by borkdude and eric dallo.
ahem
So think of it more like "static analysis stuff for the rest of us" :D
j/k of course, and no offence taken :-)
back in the day used to use clojure to write a fintech app but not sure if it is still relevant has uses vs other langs that have emerged
but in my experience its amazing the overall quality of Clojure code in the wild tends to be higher than your typical language so AI's training on Clojure tends to be on modern and high quality code and the language is very token efficient, you can also tell AI to interact with the REPL to avoid restarts
The only downside I've seen reported is mis-matched parens but for me models have been strong enough to balance parens for about a year at least it's not something I actively work-around even though there are work-arounds like brepl and others
For me it's the opposite, the dense code is easier to review, because the proposed changes are almost always smaller and more informative. Contrast a change in a typical TypeScript project where changes propagate across tens of files, that you need to jump in-between just to understand the context. In the time it takes me to ramp up understanding what the change is, I've already completed the review of a change in a Clojure program.
I find it also easier to just grab the code and interactively play with it compared to do that with 40 pages of code.
Ask AI to build something. By default it will use python. Sometimes js or typescript.
Ask then to do the same thing in Clojure. The result is generally an order of magnitude better. Shorter, easier to read for both humans and llm. Easier to adapt to changes.
The industry should have optimized for hiring people interested in PLs like Clojure instead of LeetCode drillers. Clojure is rarely the first, second, or even third programming language people choose to learn. It demands a specific vision, dedication, and discipline that fundamentally transforms how people think about computation, data flow, distributed systems, and concurrency. The ROI from hiring an average developer experienced in Clojure has the potential to significantly exceed that of a typical hire. Even when there's zero Clojure in prod.
I've wrote about this in more detail here if you're interested https://yogthos.net/posts/2026-02-25-ai-at-scale.html
The repeated code on the steps is actually the more interesting tell to me. An artist would vary that deliberately for visual interest. A model just tiles what it learned looks like "code."
That said, the pencil sketch theory is compelling. Hybrid workflows where a human does the composition and an AI handles color/rendering are increasingly common, and they produce exactly this kind of uncanny result — strong underlying structure with strange surface artifacts.
Whether it is or isn't AI, the irony of a documentary about a language whose community deeply values craft and intentionality potentially using generated art for the thumbnail is at least worth a raised eyebrow. Not outrage-worthy, just... a little incongruous.
https://www.linkedin.com/posts/cult-repo_call-us-old-fashion...
That's quickly becoming befitting for cases like this - so often people rush to blame AI without even trying to use their own reasoning. I don't know what to say, hope you find a good surgeon, because it is obvious - you're shit of a dancer.
It's not because Rich doesn't want AI-generated pull-requests by people then taking credits that the Clojure community is anti-AI.
I use Claude Code CLI daily with Clojure, just not in a "write me five thousands lines of Clojure code I won't read" type of way.
[1]: https://bsky.app/profile/cultrepo.bsky.social/post/3mjhubrh3...
- two belts and two Clojure logo belt buckles
- same code repeated on the steps (odd artistic choice if made by the artist)
- the seemingly out-of-place scarf, stylistically its color/pattern doesn't seem to fit
Either way, it seems like an homage to this Indiana Jones and the Temple of Doom poster:
https://www.slantmagazine.com/wp-content/uploads/2008/05/tem...
The weird choice is having a belt and suspenders. That only works as a fashion choice, which makes little sense for an explorer.
https://www.linkedin.com/posts/emmalouisetracey_one-of-my-fa...