When people say "killer app" what they mean is "silver bullet". The problem
with silver bullets, is while they are quite exceptional at killing
vampires, they are often somewhat subpar when it comes to dispatching other
monsters of the night, such as ogres. Or at least so I've been told by my
friends.

I think the biggest strength of Clojure is that it tries at all costs to
avoid silver bullets. Sure, actors may work for your project, but they are
very horribly suited to most of my projects. Logic programming has its
uses, writing a logging system is probably not one of them. Frankly I find
it a shame that Akka has taken off to such an extent that apparently many
Scala developers reach to it first, the moment they hear "distributed".

Some criticize CSP (and core.async) of being ill suited to distributed
programming, that may be somewhat true, since channels are transactional
and provide guaranteed delivery, but so what? Nothing's stopping developers
from removing a single CSP channel from their system and replacing it with
RabbitMQ, JMQ or any of a dozen other methods. In fact, certain aspects of
actors (mailboxes) can be implemented on top of CSP. Many people (including
myself) have done that with core.async.

As far as enterprise adoption, I see blue skies there. Both Walmart and
Staples had booths at Clojure/West.

So what's the killer app of Clojure? I think it's werewolves. I heard an
quote once from an interview with one of the developers of Datomic. The
question was: "How long would it have taken you to build Datomic without
Clojure". His response was: "about 4 years...2 years to write Clojure from
scratch, and another 2 years to write Datomic on top of it." The idea
being, that the very essence of Clojure, the concurrency primitives, the
immutable data structures, the fact "normal" code is pretty darn fast, is a
killer app in and of itself.

As a co-worker once said, "Clojure doesn't give you silver bullets, it
turns you into a werewolf!"

Timothy


On Sat, Apr 19, 2014 at 12:56 PM, Gary Trakhman <gary.trakh...@gmail.com>wrote:

> Clojure's killer app is immutable datastructures.  Libraries can
> interoperate extremely easily because their interface is described with
> simple data structures.
>
> What's Java got for this? Spring? Design Patterns?
>
>
> On Sat, Apr 19, 2014 at 2:47 PM, James Reeves <ja...@booleanknot.com>wrote:
>
>> Why does Clojure need a single "killer app"? I use Clojure because it has
>> a wide range of useful tools, not because of any one tool in particular.
>>
>> To my mind, any language that promotes itself on the basis of a single
>> tool is indicative of specialisation, which isn't what I want in a
>> programming language. For instance, back in 2008, Ruby on Rails was the
>> killer app of Ruby, but the rest of the ecosystem of the library was rather
>> bare. Nowadays Ruby has a far greater range of libraries and tools, and
>> Rails has become just one tool out of many, rather than the sole reason
>> people turn to the language.
>>
>> That said, Clojure boasts several tools that aren't found many other
>> places, and yet are extremely useful. Recently I've been using core.async,
>> and now I find it difficult to imagine handling asynchronous communications
>> without it. I'd almost say that was a killer app if Clojure didn't have so
>> many other tools that have features that are just as compelling.
>>
>> - James
>>
>>
>>
>> On 19 April 2014 17:15, Paulo Suzart <paulosuz...@gmail.com> wrote:
>>
>>> Hi all, (warning, this is kinda confusing email)
>>>
>>> Been following the list for some time and specially paying attention to
>>> what could be the killer clojure app as Akka is for Scala.
>>>
>>> I keep seeing small libs (I like libs) popping up like ants, but I don't
>>> believe none of them (alone at least)  can make clojure explode and become
>>> main technology in a old school /ordinary company.
>>>
>>> People say clojure is good for data. But where are the cases? And more
>>> specifically, where are the frameworks and libs to support it? Are they
>>> talking about wrappers around java for Hadoop? Sigh...
>>>
>>> Pulsar is quite dead, core async isn't clear regarding remoting, and
>>> avout? And lamina? And aleph? Where are the tools that can make clojure to
>>> cover from Web to big data and batch?
>>>
>>> Luminous,  caribou, etc, are they going to become the next grails?
>>> Huumm.. Will take lot of time. Clojure Script alone will not go any further
>>> than the current server side.
>>>
>>> What made me give up scala was Scalaz, and I hope the "create thousand
>>> disconnected libs and publish a post with ANN sufix" approach doesn't make
>>> me give up clojure.
>>>
>>> Sorry guys, I've been posting about Clojure since 2009, and still can't
>>> see it becoming the main technology even being the CTO of the company.
>>>
>>> What is the killer app for you? Or how do you think we can make clojure
>>> supporting apps like Facebook or something big like that?
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clojure@googlegroups.com
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+unsubscr...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojure+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to