[Comment removed by author]
I’ve been working with Clojure for around a decade, and I find it’s far easier to step in and maintain Clojure projects than comparable scope projects written in languages like Java. There are a few tangible reasons for this.
I feel like lack of static typing would be a pain for a large project
I haven’t found that to be a problem myself, but if you find static typing to be essential to your workflow then Clojure is probably not a language for you. The approach in Clojure is to use runtime contracts with libraries like Spec and Malli. I find this approach works better because it allows adding specifications where they’re meaningful, which tends to be around APIs, and contracts let you encode semantics of what the code is meant to be doing which can be trickier to do via the type system.
It’s also worth noting that any large project can, and in my opinion should, be broken down into smaller projects. This is basically the whole premise behind microservices. Small projects are easier to reason about, they’re easier to maintain, and they can be reused and replaced as needed. I see no advantages to structuring software in monolithic fashion.
Speaking from 4.5 years of experience at a company with 250 engineers who write mostly Clojure, if you make training and investing in your people a priority it hasn’t been a problem for us. Experienced engineers who have been writing functional code in JS tend to catch on really quickly. Learning the quirks of our codebases is more of an issue than learning the language. Of course, if you don’t invest in training your people then it won’t work, but if you’re at a company that doesn’t invest in their people you have bigger problems to deal with than what language your code is in!
I can obviously only go by my personal experience here, but having worked on many Clojure projects over the years I haven’t found this to be a problem. It’s also worth noting that many large companies use Clojure nowadays, and seem to be maintaining their projects just fine as well. Here’s an experience report from one company that’s been using Clojure long term. Other notable companies include CircleCI, Kira Systems, Atlassian, and even Walmart where tech isn’t even their core business.
Far as runtime, author could test it again mature CL’s or Schemes. That might give an idea.