4 ms·
Axum, Microsoft’s Approach to Parallelism
- andr 17y agoI 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 17y agoThat 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-Cooking-Up-New-Parallel-Programming-Language-Axum-868670/ http://www.eweek.com/c/a/Application-Development/Microsoft-C... [EDITED: Syntax]