Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is Clojure useful for? [closed]

Tags:

clojure

What real world applications are people using Clojure for?

I use Groovy for glue stuff, Java for big systems, Python/Perl scripts for parsing and glue. I could see myself calling into Clojure from Java but I can't see where I would use it in its own right. It strikes me it would be easier to use almost any scripting language for adhoc tasks.

I'm not a Groovy expert or a fanboy by any means but it strikes me that it has a better support framework, tools and a lot of the language constructs (closures, functional programming). The same could be said for Scala.

Could it be that its future is as a language that is embedded in other systems?

like image 593
Fortyrunner Avatar asked Nov 23 '10 20:11

Fortyrunner


People also ask

What are the advantages of Clojure?

Clojure offers many useful modern features, including software transactional memory (STM), persistent immutable data structures, interactive programming through a read-eval-print loop (REPL), strong JVM integration by compiling to bytecode, simple Java API calls, and much more.

Is Clojure still used?

Clojure (still) for Start-ups While more large companies are adopting Clojure than ever, the sweet spot is still the smaller companies of less than 100 employees. The reasons that start-ups choose Clojure are many and variegated: Leverage - small effort, big result.

Is it worth to learn Clojure?

If you want to learn a language that smooths out the friction between thought processes and code, that is clear and understandable and where you're supported by a strong community, then Clojure is a great bet.


1 Answers

I've used Clojure for:

  1. Scraping web pages
  2. Shell scripts
  3. Building websites
  4. Playing around with OpenGL
  5. Writing async webservers
  6. HTML Templating
  7. Running parallel tasks (fetching multiple URLs and process in parallel)
  8. Playing around with real time audio
  9. Simulations

That's the practical / fun stuff.

But Clojure has plenty of theoretical depth as well. Ideas that will become increasingly more relevant as the mainstream comes to really understand the potential of Functional Programming.

A personal opinion, but Clojure flat out provides better language constructs for organizing software correctly (without causing undue pain for the working programmer) of all the languages I've used thus far academically and professionally - C, C++, Objective-C, Java, JavaScript, Python, Ruby.

Which isn't to say Clojure is perfect. But it seems to me that it's built on a better foundation than most of what's out there.

like image 107
dnolen Avatar answered Sep 19 '22 17:09

dnolen