Justin du Coeur (jducoeur) wrote,
Justin du Coeur

Language of the day: Axum

[Happy birthday to herooftheage!]

Those keeping an eye on scaling and how to make it happen may want to take a look at Axum. It’s a new experimental language over at Microsoft, that will probably grow into something serious.

The Axum language is designed from the ground up to implement the Actor programming paradigm within .NET. Actors are a hot concept these days, precisely because it’s an inherently scalable architecture: you break your program down into many little bite-sized “actors”, each quite simple, with little or no shared state between them and message-passing communication between them. Done right, it produces not only scalability but enormous reliability: Erlang is an annoying and crappy language, but popular in some circles precisely because it is an extremely pure Actor-based architecture, with ultra-high scalability and reliability. (Scala is also growing in popularity in large part because of its Actors implementation: that’s a major reason I use it for CommYou, which I am currently rewriting around Actors.)

Axum is a pretty interesting take on the idea. Like most research languages, it is very focused on one idea, possibly to a fault, but while I don’t love it quite as much as Scala, it looks a lot more usable than Erlang – and being .NET-based, it’s a potentially good fit for anyone working in the Windows world. It introduces a lot of useful constructs for using Actors within an impure environment, such as the ability to construct Actors that are allowed to co-operate on focused shared data.

I think it unlikely that you'd want to build a production system with Axum now, since it’s really just a prototype from Microsoft DevLabs. But knowing Microsoft, I would expect a more serious implementation to show up in the real environment within the next few years, and it would be well worthwhile to investigate it once that happens: Actors are one of the better ways to construct scalable systems, and will probably be applicable for many folks. So if you have some time, take a read through the Programmer’s Guide, which provides a good tour of the language and its ideas…
Tags: programming

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded