3 ms·
is clojure still relevant in the post agentic coding reality that opens up pretty much all esoteric languages to everyone ? back in the day used to use clojure
by agentifysh 6mo ago
is clojure still relevant in the post agentic coding reality that opens up pretty much all esoteric languages to everyone ?
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
- netbioserror 6mo agoClojure might be the least esoteric language ever. Call a function, get a value.
- agentifysh 6mo agoIt 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.
- iLemming 6mo agoHiring 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.
- acheron 6mo agoI'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.
- iLemming 6mo agoI 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.
- uxcolumbo 6mo agoCan you talk more about those scripts, what are you using it for?
- iLemming 6mo agoAnything that we previously used Bash or Python for - any complex task delegation from GHA; utility scripts for setting up proper ssh tunneling for various k8s clusters; there's pretty complex CLI tool we build for testing our services in ephemeral SDEs running our pods. Personally: all my MCPs are written in Clojure - https://github.com/agzam/death-contraptions https://github.com/agzam/death-contraptions; I write small web-scraping scripts and automations in nbb with Playwright. The flexibility of starting the REPL and figuring out the rest of it dynamically, while poking through DOM elements directly from the editor is some blackmagicfuckery that should be outlawed. Imagine being able to control the state of the web browser while typing some incantations in your editor, without much ceremony, without some crazy scaffolding, without "frameworks", without even having to save the code into a file. You gotta be some ignorant fool who doesn't know this was at all possible or a complete idiot to say "meh, but all these parentheses". You gotta be kidding me. It's like if someone gave you a magic car attachment that makes it run for 800 miles on a single charge and you'd say: "meh, I don't like the color of it"...
- yogthos 6mo agoClojure 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. I've wrote about this in more detail here if you're interested https://yogthos.net/posts/2026-02-25-ai-at-scale.html https://yogthos.net/posts/2026-02-25-ai-at-scale.html
- MarkMarine 6mo agoOne 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.
- hsaliak 6mo agoClojure 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.
- tosh 6mo agoI 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.
- embedding-shape 6mo ago> 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.
- asa400 6mo agoCouldn't agree more. And I actually kind of like Typescript, but man, typical Typescript projects are so verbose and sprawling, it's crazy.
- iLemming 6mo agoNot to mention that Clojurescript often emit safer code than Typescript does. Sounds insane and counter-intuitive, but here's the thing - Typescript actually removes all the type information from the emitted JS. Clojure, being strongly typed retains the strong typing guarantees in the compiled JS code. So all that enormous amount of effort required to deal with complex types, in practice feels like bringing kata choreography to a street fight - it's not utterly useless by itself, but hardly helping in a real fight-or-flight situation. You can impress the attacker with your beautiful dance and even prevent them from attacking you, but that's more like hope than a real strategy.
- iLemming 6mo agoI 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.
- arikrahman 6mo agoI would say with the nREPL feature and letting the AI Agent jack in, Clojure may actually be the most well positioned language for this use case.
- jwr 6mo agoI 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.
- slifin 6mo agoYeah 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
- jwr 6mo ago> mis-matched parens FWIW, I never get mis-matched parens when working with Claude Code in Clojure. I guess the key is to use clojure-mcp tools. If there ever is a mismatch during work (rarely, but I've seen it happen), claude fixes it using the tools right away.
- yogsototh 6mo agoPersonally this is a hidden trick I use. 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.
- embedding-shape 6mo agoNot 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.
- erichocean 6mo agoAutochrome [0] make reviewing Clojure diffs from AI really easy. [0] https://github.com/ladderlife/autochrome https://github.com/ladderlife/autochrome
- asa400 6mo agoThis is like asking if violins are still relevant because we have cars now.