Locked Axum & Erlang

  • Monday, May 11, 2009 8:56 AM
     
     

    Is Axum be influenced by the programming language Erlang?
    Thanks

    Klaus

All Replies

  • Monday, May 11, 2009 12:49 PM
     
     
    Hey Klaus,

    I think yes - of course we should wait for the official word from the team.
    Surely I personally would have no problem with Axum being inspired by Erlang ;)

    If you are interested here is my view on Axum so far:
    http://blogs.thinktecture.com/cweyer/archive/2009/05/11/415351.aspx
    http://blogs.thinktecture.com/cweyer/archive/2009/05/11/415352.aspx

    And then imagine using Axum with Windows Server HPC - yummie...

    Thanks.

    Christian Weyer | thinktecture | http://blogs.thinktecture.com/cweyer/
  • Monday, May 11, 2009 3:03 PM
    Moderator
     
     Answered


    Not directly, no. We are of course very much aware of Erlang, but we didn't study it before designing Axum. On the other hand, both languages are influenced by the common actor-oriented roots. The direct influences on Axum have been CSP and pi-calculus, BizTalk, Ada and the language SR (rather obscure, but that's where we got the idea for domains from). Also, the service-oriented way of breaking down a problem was a great source of inspiration.

    If you look at Erlang and Axum, you will find that there are many similarities and many differences:

    Erlang achieves isolation through the immutability of its data structures, Axum through scope-based isolation and making object graphs non-reachable.

    Erlang does away with the object-oriented paradigm, while Axum is swimming in a sea of objects. This is the biggest reason why, even if we had studied Erlang first, Axum would still look very different -- .NET is OO, and we have to mesh well with that.

    Erlang follows the traditional mailbox-processor actor design pattern, while Axum uses channels that are more like stay-alive HTTP sessions. We think this is a significant advancement on the actor pattern; we're learning from how the web, the biggest, most parallel, software system in existence, is programmed.

    One thing the two have in common is the light-weight actors, and the affinity for message-passing, of course.


    Niklas