Settings

Theme

The Future of Riak at RICON East

ricon.io

13 points by tsantero 13 years ago · 4 comments

Reader

marshray 13 years ago

(I don't see any discussion here to derail yet, so I hope you won't mind my (related) open-ended question.)

I think we all agree that Riak is really really cool. It inspired me to start looking into Erlang again, as it seems to be the native language for working with Riak.

Every time I start wading into learning Erlang I start wondering if it's the greatest thing ever, a great leap forwards, or merely some modest improvements backed with years of professional tuning to the needs of a telephone company.

Any thoughts from someone with lots of real experience with Erlang (as well as its alternatives)?

  • sasa555 13 years ago

    I have more than 10 years of professional experience using C++, C# and Ruby to develop "classical" business web and desktop apps.

    I started using Erlang two years ago to implement a push server, and fell in love with it immediately. The language has its quirks, but the virtual machine is fantastic, and it really makes it easier to manage massive concurrency, which is almost always the case on the server side.

    If you find the language too strange, you should also check Elixir, a Ruby flavored language which compiles to the Erlang bytecode and can normally cooperate with other Erlang code. Starting this year, I am adding new feature for my Erlang based system using Elixir as much as possible. At the moment, you should really be familiar with Erlang to be able to fully understand and utilise Elixir.

    Other alternatives to Erlang would be Go, Scala/Akka, or reactor based platforms such as node.js or EventMachine. Also, probably Haskell and Clojure, but I'm not really familiar with those. Personally, I find them all to be inferior to Erlang VM, although Go and especially Scala/Akka are really close. I wouldn't recommend reactors despite my great affection for both Ruby and Javascript.

    Some detailed ramblings on what I really love about Erlang can be found on my blog: http://www.theerlangelist.com/2012/12/yet-another-introducti...

    http://www.theerlangelist.com/2013/01/erlang-based-server-sy...

    • marshray 13 years ago

      Nice blog! Thank you for your reply. I have a similar background to yours and a little familiarity with functional languages.

      Erlang has been so mature for such a long time and has had so many professional followers, it's curious why it's not ubiquitous. We often hear of high scale projects like a Facebook or a Riak using it as a component. But outside of Ericsson, almost never do we hear about Erlang/OTP being used as the whole platform it was designed to be.

      Instead we hear about server admins who actually prefer to maintain JVM-based systems. I'd like to know if there's a real reason behind that, other than popularity momentum.

      • sasa555 13 years ago

        I guess JVM or .NET preference is often caused by inertia, ignorance or fear of change.

        In the company I used to work for, they had religious devotion to Microsoft. Everything that didn't come from MS was frowned upon, not only open source or competing closed source technologies, but also 3rd party .NET components/libs.

        As far as Erlang is concerned it is somewhat exotic, so I can understand why mainstream population won't pick it up. Not only is it functional language, but it is Prolog based, so I see why that turns off most of the people.

        Even my current boss, who is very open minded, objected when I introduced Erlang, wondering who will maintain the code if I leave the company.

        Nevertheless, Erlang has gathered some impressive references lately, not only Ericsson, Riak or Facebook, but also WhatsApp, Chef, Heroku, Amazon SimpleDB, Call of Duty, and so on.

        For what it's worth, these days I would choose Erlang/Elixir combination for almost anything server side.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection