Re:RestCommander: Fast Parallel Async HTTP Client as a Service
by perishabledave on Saturday April 02, 2016 @05:35AM
(#11410887)
Building off the parent's comment, there's a Graphql library for Elixir. If you aren't familiar, just like Akka it uses the Actor concurrency model and has the proven ability to scale since it runs on the Erlang VM.
After working with Akka more and more the past year, I have to wonder what would inspire someone to choose Storm over it though. Akka scales from millions of messages all the way don't to "I need an end-point for a web-socket", or a single Actor for unique id generation.
It's really an amazing technology. A bit of boiler-plate, but certainly no more than something like Storm and you get to a place where it's 30 seconds of setup before you start implementing your flows.
It's like that old idea that eventually you'd be able to take a Visio diagram, and just translate it to code. It's flow-chart logic diagrams made manifest. Completely unlike anything else I've ever experienced. Started with Imperative programming with BASIC, moved on to OOP and very primitive rules engines with c#, DSLs and code-rewriting with S-expressions with Ruby, introduced to functional programming by Scala. Then I get into Akka and despite working with the same language it feels like a whole other paradigm with just as significant a shift and contribution to make as the others.
So wondering across posts on Storm (or more routinely lately, Spark), make me wonder if anyone else feels the same, or if all of these tools are kind of in that same category.
Or maybe I'm just overselling Akka. But when you hear a Rubyist reverentially refer to message-passing and Smalltalk, I'm pretty sure no one I ever discussed that with ever envisioned anything like Akka. I certainly didn't. `receiver.send(message)` in Ruby is to message passing as Ruby lambdas are to functional programming (despite lacking composition, currying, partial function domains, etc). Or switch statements are to pattern-matching. IOW, not really at all.
Which was really hard to appreciate as a Rubyist before experiencing it myself.
Have you considered Akka? Found it lacking somewhere maybe? Any direct experience with Storm? Do you get the same sort of "previously unknown to me but now obviously equally fundamental pillar of programming structure" sort of of vibe?
Just curious.