Add Axum Concpts to C# and VB .Net RRS feed

  • Question

  • Why can't the concepts of Axum be added to C# and VB .Net so that you can get the best that all have to offer in one place?
    Sunday, May 16, 2010 8:04 PM


All replies

  • Excellent question! There is no simple answer here -- I can argue it both ways.

    In fact, this was one of the first things we worried about with Axum; a few of us had experimented with adding these concepts to VB, but concluded that the number of concepts that had to be added to a general-purpose language would be prohibitive for something that is only useful in maybe 10-15% of the code of an applicaiton, if that. The thought, therefore, was to build a special-purpose language that would be used for the areas of an application (typically at the component level) that required it, leaving the majority of developers free to not learn the parallel constructs.

    So, the reasons are very practical -- there is nothing that technically stands in the way of integrating them into either language that you mention.


    Monday, May 17, 2010 6:52 PM
  • I think that you vastly underestimate the percentange of applications where the parallel concepts would be useful. I know many applications where the bulk of the work could use Axum concepts.

    But Axum has made the separation between itself and other languages too difficult to bridge.

    Tuesday, May 18, 2010 2:38 AM
  • OK, that's good feedback. Overall, I think we've observed a 50/50 split on this question in commentary. Not an easy call, generally.
    Tuesday, May 18, 2010 7:02 PM
  • You don't want Microsoft to fragment their technologies too much. I want to use Axum driven from an Oslo DSL model with C# or VB.Net code behind running on Azure Services with Silverlight 4 with RIA Services, MVVM, StreamInsight and Sharepoint 2010, maybe running with a Windows Phone 7 Series for Real Applications so that I can get the best qualities that all of these technologies have to offer in one ecosystem. The components should be fairly seamless and compatible with one another.

    I even have an application that is composed of many function blocks where each function block can be implemented as an Axum agent sitting on a channel waiting for multiple inputs to arrive so that it can fire and produce its ouput as part of a function block network. I need the network to be as dynamic as possible, able to be changed on the fly without shutting the application down for more than a fraction of a second.

    Wednesday, May 19, 2010 2:50 PM
  • Remember Comega? Its concepts have made it into LINQ. Our participation in, and feedback on, this project (and other research/ incubation projects) can help to see these concepts baked into the platform/ mainstream languages. I, for one, am very interested in seeing the F# flavour of Axum --it seems like a natural extention.
    Wednesday, May 19, 2010 5:25 PM
  • Remember also, Axum can influence other languages or inspire someone/some people to create a new programming language similar to C# or VB.NET with a bit of Axum integrated. Many people can be inspired by new languages, ideas, and incubation projects and you never know, it just might happen that someone will use their concepts.

    Hope this helps and that's a great question!


    - Nevin Janzen

    "The bugs in your backyard may bite you, but the bugs in your applications will kill you."
    "You keep killing bugs but they always come back from the dead to take revenge."
    "The only good bug is a dead one."
    "The only good bug in nature is one in a cage, and the only good bug in the computer world is one that is found, tortured, and repeatedly killed."
    "If there is one thing I can't stand, it's lousy programmers. like me."
    "The worst thing about for loops is that you keep doing the same things over and over again."
    "If only there was a for loop for generating for loops."
    "A programmer's day goes like this: write code, generate bugs, write code, generate bugs, write code, generate bugs, write code, generate bugs.... Hmmm, I believe this is called a 'for loop'. "
    "The worst thing in the world is too many quotes; because then you have to read them all over again.

    Saturday, January 7, 2012 2:40 AM