So, having just recently learned of Clojure, I'm interested in sinking my teeth into some good ol' functional programming again. What sort of applications would Clojure be good for? Web apps? Windowed client apps? Command-line utilities? What sort of applications is Clojure a terrible solution for?
Clojure is being used extensively for processing large volumes of data. It is very well suited to data mining/commercial-AI (ie: Runa) and large scale predictions (aka WeatherBill). Clojure's concurrency story really helps in these data heavy domains where parallel processing is simply the only answer.
All our models, datastores, and services are built in Clojure. We find that Clojure's support for parallelism makes it easy to run complex models with low latency. Precursor is real-time collaborative prototyping for teams built with Clojure, ClojureScript, and Datomic.
The Clojure community is growing stronger In fact, 25 percent of current developers have been using Clojure for a year or less, which is a great sign of the health of Clojure looking at 2022 and beyond. The Clojure community is enthusiastic and fast-growing and you will learn plenty if you decide to participate in it.
I think the only thing that Clojure may not be good for is one-off command-line scripts. The JVM startup time even when running with the -client flag is not so hot. Projects like Nailgun provide something of a workaround but there are some serious security implications with that approach.
Otherwise I think Clojure is ideal for any task.
Really, any type of application should be ok. Clojure is a reasonable general purpose language so it lends itself to most things, especially due to it's Java class library support.
Functional programming languages lend themselves well to highly parallel problems, so you might want to look for something in that area. For example, crunching masses of information using a MapReduce approach like Google do...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With