It gives me great pleasure to announce the availability of our Axum technology preview at the MSDN DevLabs site. I have been working on this project off and on for several years, and for the last 18 months or so, I’ve had good company from Artur Laksberg and Josh Phillips. It has been a long and winding road to this point, but we are here now and that is incredibly exciting, I think.
Download it, take it for a spin, and let us know what you think. Be sure to check out Josh’s introductory video on Channel 9. If the weather where you are is anything like it is here in Seattle right now, there's really no reason to do anything besides building Axum apps this upcoming weekend! 🙂
It needs to be reiterated that Axum is an incubation effort, which means that we’re not committed to shipping it in any particular product release or in the form offered by this preview. A lot will depend on your response and involvement with us.
This language is not a finished product – we are quite certain that it is too big and we have some ideas on what to take out, but would like to hear from you about it. We welcome suggestions on syntax, but we are more concerned about getting the semantics right first – only where syntax stands in the way of comprehension is it really a big deal for the moment.
Here are some (leading :-)) questions to ponder and help us understand:
1. Is the number of concepts you have to learn in order to use the language (I count four: agents, channels, send, receive) too many? Is this a complex language? There will always be a learning curve with any new technology, but looking past that…
2. Is overcoming that learning curve worth it if what you get is a solution offering safe parallelism?
3. Are data-flow networks as general as what Axum offers useful, or would a more constrained form be sufficient? If generality is indeed valuable, are we missing any constructs that would make networks even more useful?
4. What aspects of the language aren’t we explaining properly? What didn’t you get after trying it out?
5. What kinds of projects is Axum best suited for, what are its sweet-spots in your opinion? What kinds of projects is it less ideally useful for?
6. How feasible is the idea of a special-purpose language in the first place? Would you see yourself developing parts of your application in Axum, parts in C#, VB, or F#?
7. One of the innovations in Axum is the availability of asynchronous methods, which offer great scalability. Tell us how you are using them and what your experiences with them are. Let us know about your 10,000-agent application!
Please direct all comments on issues that you may run into to the Axum MSDN Forum and make sure to actually read the README, it contains crucial information that will make things easier for you.
On behalf of the Axum team,