When a team decides to switch programming languages, which would be a major undertaking, it’s typically for one of the following reasons:
1 - There is a deeper understanding of the problem space and the initial language doesn’t actually help the team from creating bugs that would be determimental to the continued operation of the business (eg, choosing Erlang when 9 9s of uptime is of absolute importance or a systems language when nanoseconds matter).
2 - Time has passed and there are many frustrations the team is dealing with in either maintaining - or extending - the current codebase. And there is now a belief that switching everything over to $LANGUAGE will solve those problems. This is rarely true and almost always a red herring as (typically) institutional knowledge of what the original set of problems $ORIGINAL_LANGUAGE solved are forgotten/ignored due to them not ever being a problem. But as soon as you flip the switch, the team will be acutely aware of them.
In the end - unless it’s made for a legit business reason (see: #1) - more time will pass and the same team will be frustrated with a different set of problems.
The immutable data structures seem very costly in the JVM, so basically you'd use it mainly for the power of abstraction. I'm a big fan of LISP and functional programming languages, but I have a hard time finding a good case to use Clojure, one could use Kotlin or other JVM langs and have a huge pool of great developers, and your code will be arguably more performant than from those built in Clojure.
It feels like it was just hype, people were hyped about immutability, Rich Hickey's personality etc, in reality we've faced the harsh reality that memory addresses and how the CPU works isn't in a immutable way, and the extra glue is very costly.
I've worked on some Clojure projects and as well most code looked like spaghetti, even if you'd take a look at projects developed by the core team from clojure, you'd find lots of code that is hard to comprehend, something that in other mainstream programming languages wouldn't take a genius to understand.
After using Lisp for a long time I started to believe it's a good language to write programs for myself, not to collaborate in a team.
Those are all my opinions though, interested to hear others.
The Clojure systems got migrated to Golang and C#
My cut-off criteria at the time were: are they bringing revenue and what technical risk do they open us to (hiring, training, debt, etc.)...
As hinted, the first one I killed was in Python, and I had written about 70% of the codebase.