Storm

628 views
Skip to first unread message

nathanmarz

unread,
Sep 20, 2011, 11:05:10 AM9/20/11
to Clojure
Yesterday I open-sourced Storm at Strange Loop. Storm is a distributed
and fault-tolerant realtime computation system hosted at
https://github.com/nathanmarz/storm

Just want to preempt a few questions that I know people are wondering
about the project:

"Is Storm mostly written in Java?"

If you look at the languages graph on Github, it says that Storm is
"64% Java". However, this is inaccurate because those numbers include
the Java code generated by the Thrift compiler. If you exclude the
generated code, you'll find that Storm is over 50% Clojure in terms of
line count. In terms of functionality though, Storm is around 98%
Clojure. The Java code I wrote is mostly interfaces and small classes
that a user of Storm would encounter in the public API (Java is, ahem,
verbose).

"Why isn't Storm written completely in Clojure?"

I want Storm to be as accessible to as wide an audience as possible. A
user's language preference or constraints shouldn't prevent them from
being able to use Storm to solve their realtime computation problems.
This is why I chose to define Storm's main interfaces in Java, and
this is also why Storm supports using any language (including non-JVM
ones) on top of Storm. That said, Storm has a Clojure DSL for
programming topologies which is what I personally use for developing
topologies.

Clojure was a magnificent language to use to build Storm. Storm is a
complex, intricate system, and Clojure helped a great deal in managing
the complexity of the implementation.

If you have any questions, I'd be happy to answer them.

-Nathan

Baishampayan Ghose

unread,
Sep 21, 2011, 1:41:53 AM9/21/11
to clo...@googlegroups.com
Hi Nathan,

On Tue, Sep 20, 2011 at 8:35 PM, nathanmarz <natha...@gmail.com> wrote:
> Yesterday I open-sourced Storm at Strange Loop. Storm is a distributed
> and fault-tolerant realtime computation system hosted at
> https://github.com/nathanmarz/storm

I would like to congratulate you on the release. Storm seems to be
very interesting and apparently it has certain advantages that no
other existing system seem to offer.


> ones) on top of Storm. That said, Storm has a Clojure DSL for
> programming topologies which is what I personally use for developing
> topologies.

It would be great if the Clojure DSL is documented on the wiki (or did
I miss it?). I am really keen on taking it for a test drive and I am
sure others in the Clojure community would like to do so as well.

Regards,
BG

--
Baishampayan Ghose
b.ghose at gmail.com

Max Weber

unread,
Sep 21, 2011, 3:37:43 AM9/21/11
to Clojure
Thank you very much for such a great contribution to the Clojure
ecosystem! I cannot not wait to use Storm in my Clojure projects :-)

Best regards

Max

On 20 Sep., 17:05, nathanmarz <nathan.m...@gmail.com> wrote:
> Yesterday I open-sourced Storm at Strange Loop. Storm is a distributed
> and fault-tolerant realtime computation system hosted athttps://github.com/nathanmarz/storm

nathanmarz

unread,
Sep 21, 2011, 11:54:52 PM9/21/11
to Clojure
Yea, I have it on my todo list to document this (which seems to be
getting longer by the minute). Hopefully I'll do that within the next
few weeks. In the meantime, I pasted some example code showing usage
of the Clojure DSL, if that helps at all in the meantime:

https://gist.github.com/1228302

-Nathan


On Sep 20, 10:41 pm, Baishampayan Ghose <b.gh...@gmail.com> wrote:
> Hi Nathan,
>
Reply all
Reply to author
Forward
0 new messages