Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What kind of applications are appropriate for clojure?

Tags:

clojure

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?

like image 426
abeger Avatar asked Jan 22 '10 22:01

abeger


People also ask

What is Clojure best 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.

What can be built with Clojure?

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.

Is Clojure worth learning in 2022?

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.


2 Answers

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.

like image 116
dnolen Avatar answered Sep 30 '22 00:09

dnolen


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...

like image 35
Sean Avatar answered Sep 29 '22 23:09

Sean