aspose file tools*
The moose likes Clojure and the fly likes Clojure Made Simple: What's Clojure good at? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Languages » Clojure
Bookmark "Clojure Made Simple: What Watch "Clojure Made Simple: What New topic
Author

Clojure Made Simple: What's Clojure good at?

Qunfeng Wang
Ranch Hand

Joined: Jan 28, 2005
Posts: 433
I have 2 questions.

1. What's Clojure good at comparing with other languages?
2. How about the Clojure language in industry? Are there any companies use Clojure in their projects?


To be or not to be. It's a question.
Sean Corfield
Ranch Hand

Joined: Feb 09, 2011
Posts: 261
    
    5

To address your second question, here's a small list of companies using Clojure: http://dev.clojure.org/display/community/Clojure+Success+Stories

There have also been a number of presentations over the last couple of years that are case studies from companies that have adopted Clojure. And of course it's worth noting that Twitter, LinkedIn and many other "brand names" use Clojure for some projects, even tho' they might not be talking about it much in public (Twitter bought Backtype who created Cascalog and, since becoming part of Twitter, have created Storm - both of which are impressive Clojure projects for manipulating "big data").
norman richards
Author
Ranch Hand

Joined: Jul 21, 2003
Posts: 367
qunfeng wang wrote:I have 2 questions.

1. What's Clojure good at comparing with other languages?
2. How about the Clojure language in industry? Are there any companies use Clojure in their projects?



Clojure is a general purpose language. It's very good at everything. Based on my observations, it seems to be used for web applications, long running services, analysis tasks and tools, which is pretty much everything you'd be likely to code these days. That's not to say it's not used effectively for other things - I'm just mentally organizing what I see it commonly used for now.

I am working for a company that uses Clojure. We have a web application in Clojure and Clojurescript, and our analysis engine is in Clojure using core.logic. What I personally really love about this choice is because of the flexibility and expressiveness of Clojure (especially with core.logic) we can pack a lot of power in very little code. We can get by with a smaller team and we effect changes in the system much more quickly than I've experienced with other similarly sized projects.

I also really love how easy it is to write Clojure. Nobody was more skeptical of lisp-syntax than me, but structured editing (paredit) along with a connected live REPL is insanely powerful. I find it more productive than both Java with it's powerful IDEs and languages like Ruby and Python with their already rapid and flexible development models.

Sean Corfield
Ranch Hand

Joined: Feb 09, 2011
Posts: 261
    
    5

Like Norman, I work for a company that uses Clojure primarily as a general purpose language, as part of a large web application (an Internet dating platform). We use Clojure to interact with MySQL, MongoDB, various third party web services (both REST and SOAP, both JSON and XML). We generate HTML emails, we process large log files, we do pretty much everything with Clojure that we might otherwise do with Java - but with a fraction of the lines of code that Java would force us to write. We love immutability because we don't have to worry about thread safety, locking strategies and synchronization. We have access to easy concurrency when we need it - because of immutability and the concurrency primitives in Clojure itself. Immutability also makes it easier to reason about our code and to reuse small, isolated functions in more situations.

So I'd say that it isn't so much that Clojure itself is better than other languages at several of these things but that the core concepts behind Clojure make solving these problems easier. The concepts lead to simple, powerful code, based on a consistent set of strong abstractions.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Clojure Made Simple: What's Clojure good at?