
Axum, Microsoft’s Approach to Parallelism - luccastera
http://www.infoq.com/news/2009/04/Axum
======
andr
I think this should've been implemented as a compile-time C# extension,
similar to LINQ. The addition of a new language makes things confusing. You
write your code in C#, then you have to rewrite some in Axum? Then you have to
connect them? Historically, you can't mix two languages in a single assembly,
so you have to double the number of your assemblies? And you still can't do
circular references between assemblies.

~~~
jmatt
That article is in my opinion lacking information. It doesn't do a good job
explaining the reasoning behind the new language. When I first heard about
Axum I thought the same thing. I think if it easily ported to a library, it
would already be in the .NET framework.

The idea behind Axum is one specialist on a team, or one contractor, could
implement concurrency. Meanwhile most programmers wouldn't have to think about
it. This may not make much sense from a tech standpoint but it does from a
business standpoint. This sounds like a sensible solution from my experience
working at windows dev shops.

From a slightly more thorough article:

 _In an interview with Dr. Dobbs Journal, Niklas Gustafsson, a software
architect and member of Microsoft's Parallel Computing Platform team, said:

"The basic principle of Maestro is to reduce the complexity of a parallel
application to the point where most programmers should be able to write a
parallel application without even thinking about it as being parallel. In a
model based solely on shared memory, such as we have with all object-oriented
languages, you have enormous problems with reference aliasing. This means that
any two given reference variables of the same type may or may not point at the
same object. If they don't, concurrent access is safe, if they do, it's
typically not; a lot of programmer productivity is lost trying to rein in this
complexity."_[1]

[1] [http://www.eweek.com/c/a/Application-
Development/Microsoft-C...](http://www.eweek.com/c/a/Application-
Development/Microsoft-Cooking-Up-New-Parallel-Programming-Language-
Axum-868670/)

[EDITED: Syntax]

