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.