Storm can be used with any programming language. I still need to finish the documentation on this, but I have notes here:
https://github.com/nathanmarz/storm/wiki/Using-non-JVM-langu...The gist is: Storm topologies are just Thrift structures, and Storm can execute processing components in any language by communicating with subprocesses over a simple protocol based on JSON messages over stdin/stdout. Storm has adapters implementing this protocol for Ruby and Python, and it's easy to make a new adapter for any other language. The adapter libraries are ~100 lines of code and have no dependencies other than JSON.