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 -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en
