On Tuesday 12 May 2009 09:15:01 Matt wrote:
> Looks like Microsoft trying out concurrent programming with loosely
> coupled components/agents that communicate using asynchronous message
> passing.
...
        
It does look very similar to how Kamaelia would look in C++. Indeed, one of 
the reasons why I've not really taken the C++ miniaxon forward is because in 
order to do a proper Axon for C++ you'd really want to start adding in 
typing. 

Specifically you'd need typed boxes - which boils down to Axum's typed 
contracts/channels. I didn't really want to do that, so I left that code 
alone. Interestly, if you put a python mini-axon through shed-skin it does 
tend to need to do the same thing, buto of course automating it is less pain.

Regarding creating a whole new language for it, my immediate reaction 
is "well, that's nice, but you could've made it look better you know...".

The reason why Kamaelia *isn't* a new language - it's not difficult after 
all - http://tinyurl.com/5etghd - is because doing so limits the utility of 
the tool. 

Gloria W <strang...@comcast.net> wrote:
> I wondered the same. Why don't they pick a new name when they rip off 
> someone else's work, for example, like they did with Tcl/Tk ; they call 
> it C#.
> Very annoying.

Axum is clearly created by Microsoft Research as a tool for experimenting with 
concurrency in a language. Axon was created because I needed a useful tool 
for creating systems which are naturally concurrent (the original context was 
to research into scalable servers).

However Axum misses a major trick AFAICT. Axon's goal is to actually create a 
component system who's overall goal is to make it easier to build and 
maintain systems which follow the problem structure. That makes it natural 
for Axon to be concurrent, and encourages reuse in a way that would not make 
sense for Axum systems. Generators force components to be small, and small 
encourages reuse - general coroutines as Axum appears to be would not 
necessarily encourage that.  Also, Axum has blocking recieves by default.

This should make it relatively simple to deadlock, rather than livelock. (Axon 
systems can livelock, but they're debuggable due to introspection being 
resolvable).

My personal feeling isn't annoyance btw, it's amusement. If they've copied us, 
then it's the highest form of flattery (but it'd be nice to be creditted). If 
they haven't, then it's validation. Much like when I came across this old 
Mascot manual a few years after working on Kamaelia:

http://async.org.uk/Hugo.Simpson/MASCOT-3.1-Manual-June-1987.pdf

     (via http://async.org.uk/Hugo.Simpson/)

... and MASCOT predates both projects by a good couple of decades.

:-)


Michael.
-- 
http://yeoldeclue.com/blog
http://twitter.com/kamaelian
http://www.kamaelia.org/Home

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"kamaelia" group.
To post to this group, send email to kamaelia@googlegroups.com
To unsubscribe from this group, send email to 
kamaelia+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/kamaelia?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to