×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Microsoft Releases New Concurrent Programming Language

ScuttleMonkey posted more than 4 years ago | from the secret-agent-man dept.

Microsoft 297

zokier writes "Microsoft has released a new programming language called Axum, previously known as Maestro and based on the actor model. It's meant to ease development of concurrent applications and thus making better use of multi-core processors. Axum does not have capabilities to define classes, but as it runs on the .NET platform, Axum can use classes made with C#. Microsoft has not committed to shipping Axum since it is still in an incubation phase of development so feedback from developers is certainly welcome."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

297 comments

WTF is a "Concurrent Programming Language"? (5, Informative)

Alethes (533985) | more than 4 years ago | (#27908539)

Now you know. [wikipedia.org]

Re:WTF is a "Concurrent Programming Language"? (2, Insightful)

Z00L00K (682162) | more than 4 years ago | (#27908623)

Next question asked is WHY has Microsoft have to invent one when there are others available already?

Probably the answer is "Because they can" and they see a business in locking in people into their environment.

Re:WTF is a "Concurrent Programming Language"? (4, Insightful)

Alethes (533985) | more than 4 years ago | (#27908703)

Because the PHBs like a single vendor. Nothing confuses them more than saying, "We're getting the OS from Microsoft, the database from Oracle, the language from Sun and the hardware from Dell." The less companies in this list, the better, regardless of the merits of technology.

Re:WTF is a "Concurrent Programming Language"? (3, Insightful)

molarmass192 (608071) | more than 4 years ago | (#27908973)

Oh, you mean like C, C++, and BASIC? The reality is the most popular languages for MS platforms were not MS inventions.

Re:WTF is a "Concurrent Programming Language"? (4, Funny)

Tanktalus (794810) | more than 4 years ago | (#27909137)

"What do you mean? We bought you Visual Studio with Visual C/C++ and Visual BASIC!"

Don't confuse them with facts. They'll just retaliate by making your life worse.

Re:WTF is a "Concurrent Programming Language"? (0)

Anonymous Coward | more than 4 years ago | (#27909431)

Yeah, well, so.

Now they can get the OS from Oracle, the database from Oracle, the language from Oracle, and the hardware from Oracle.

So the PHB can spend his time working on his golf game. (Oh, Oracle can help there, too, I'll bet.)

Re:WTF is a "Concurrent Programming Language"? (2, Funny)

SQLGuru (980662) | more than 4 years ago | (#27909859)

So the PHB can spend his time working on his golf game. (Oh, Oracle can help there, too, I'll bet.)

Where do you think most of the Oracle support contracts are negotiated?

Re:WTF is a "Concurrent Programming Language"? (2, Informative)

davester666 (731373) | more than 4 years ago | (#27909519)

"It's meant to ease development of concurrent applications and thus making better use of multi-core processors."

should really be

"It's meant to get developers to continue to use Microsoft-only technology, so IT departments will have to keep buying Microsoft client and server OS licenses."

Re:WTF is a "Concurrent Programming Language"? (-1, Offtopic)

Anonymous Coward | more than 4 years ago | (#27909631)

FEWER. The fewer damn companies on the list. Jesus... stop raping the English language!

Re:WTF is a "Concurrent Programming Language"? (1)

ducky101 (1005349) | more than 4 years ago | (#27909635)

Well, now since Oracle assimilated Sun we can say "We're getting the hardware from Dell and everything else from Oracle". I think that's one reason Microsoft did this, trying to stay ahead.

Re:WTF is a "Concurrent Programming Language"? (4, Insightful)

theArtificial (613980) | more than 4 years ago | (#27908879)

Synergy. "With our development suite you have tools that specialise in X Y Z allowing you to do A B C. Give us your money."

I thought the general consensus on this site especially with regards to open source software was that choice is a good thing? I'm sure if they used an existing language Microsoft would employ an embrace and extend strategy that would have developers/purists up in arms.

Re:WTF is a "Concurrent Programming Language"? (1, Insightful)

Anonymous Coward | more than 4 years ago | (#27908955)

I think part of the answer is here. . .

"Microsoft has not committed to shipping Axum since it is still in an incubation phase of development so feedback from developers is certainly welcome."

In other words - Microsoft wants other people, who are not being payed by MS, to suggest improvements and ideas, which MS can then patent and incorporate into their proprietary product, which they can lock people into.

I mean, to be fair, there could potentially be room for a 'better' concurrent programming language than any of the existing ones currently available. I just don't like the idea of 'open' proprietary software development - give us your ideas for free so we can profit from them and prevent anyone else from using them.

Re:WTF is a "Concurrent Programming Language"? (3, Insightful)

chthon (580889) | more than 4 years ago | (#27909001)

The Actors Model is around 40 years old. Scheme was based upon it. Lisp have already shown in the eighties to be good at concurrent programming. Just NIH syndrome.

Re:WTF is a "Concurrent Programming Language"? (2, Insightful)

Burkin (1534829) | more than 4 years ago | (#27909233)

Next question asked is WHY has Microsoft have to invent one when there are others available already?

Because you would whine and bitch about them "stealing" the language if they were to co-opt another concurrent programming language to run in their .NET environment.

Not "Insightful", "Clueless" (4, Informative)

SuperKendall (25149) | more than 4 years ago | (#27909677)

Because you would whine and bitch about them "stealing" the language if they were to co-opt another concurrent programming language to run in their .NET environment.

Come on, who ever complained about Microsoft "stealing" any of the existing languages supportted by .Net? That was not true for Eiffel or managed C++ or IronPython, or... you get the point.

Now it is true that C# was taken lock, stock and barrel from Java when the Microsoft embrace and extend strategy was slapped down there (read the memos), but no-one ever complained about other languages being added in just as no-one accuses Java of "stealing" all the languages that VM supports now. So using an existing concurrent language would make a lot of sense and annoy no-one.

Re:Not "Insightful", "Clueless" (4, Interesting)

Burkin (1534829) | more than 4 years ago | (#27909745)

Come on, who ever complained about Microsoft "stealing" any of the existing languages supportted by .Net? That was not true for Eiffel or managed C++ or IronPython, or... you get the point.

Actually there have been many criticisms of IronPython and Managed C++ in the usual "embrace, extend" whining on this site and on other tech sites.

So using an existing concurrent language would make a lot of sense and annoy no-one.

Bullshit. People would whine no matter what because it's Microsoft.

Re:WTF is a "Concurrent Programming Language"? (2, Insightful)

moderatorrater (1095745) | more than 4 years ago | (#27909557)

Probably the answer is "Because they can" and they see a business in locking in people into their environment.

Because they want to add to the .NET suite with a forward-thinking language. Like it or not, .NET is big for Microsoft, and giving people who use it more tools will only help their position. How you feel about that, of course, depends on how you feel about .NET and Microsoft.

Re:WTF is a "Concurrent Programming Language"? (3, Funny)

x2A (858210) | more than 4 years ago | (#27909561)

Why develop TFT when there's already cathode ray tubes out there that will display picture?

Why invent new cars when there are clearly other cars out there that will get you from A to B?

Why invent motor powered vehicals when we have legs and bicycles?

Why invent geared bicycles when there are already pennyfarthings?

Why plant seeds when there's already food in my cupboard?

Why were you born when there're clearly other people out there that exist?

Stupid questions? Maybe, but you started it.

Re:WTF is a "Concurrent Programming Language"? (0)

Anonymous Coward | more than 4 years ago | (#27909863)

Yeah, they are dumb that way. I fully intend to become the worlds next Bill Gates by locking people OUT of my environment.

Re:WTF is a "Concurrent Programming Language"? (2, Interesting)

cowdung (702933) | more than 4 years ago | (#27909947)

Because the business of computer languages has nothing to do with technical merit or academic proof. Languages today are nothing more than brands that are sold (and resold) to programmers.

The language to get most mindshare wins.

Re:WTF is a "Concurrent Programming Language"? (1)

DragonWriter (970822) | more than 4 years ago | (#27909973)

Next question asked is WHY has Microsoft have to invent one when there are others available already?

Microsoft had to invent one because there are others available that (a) don't come from Microsoft, (b) don't target Microsoft platforms preferentially or exclusively. If, say, Erlang catches on for implementing the core of concurrent systems, there are a lot of ways people might provide interoperability with that core, but using .NET isn't really likely to be one of them. So Microsoft needs its own concurrent programming tightly integrated with .NET to keep .NET in the game.

Just In Time! (-1, Troll)

Anonymous Coward | more than 4 years ago | (#27908785)

How timely! Firefox just decided to rip off IE8 by supporting multi-processing. Maybe they can start programming it in Axum, and save themselves a lot of pain.

Focuses on Interfaces to Ease the Pain (4, Informative)

eldavojohn (898314) | more than 4 years ago | (#27908569)

Much like web services, the importance seems to be in the interfaces. After scanning the developer's guide, the most important aspect of this language seems to be that it's a C# plus Axum libraries that allow you to describe "channels" with input/output keywords. Your Primary Channel is your main program or main 'thread.' If you define an input like:

input int foo;

in your channel class then you can communicate with agent instances that implement that channel quite easily like:

bar_agent::foo <-- 134;

If the data can't be sent over a channel you use (and this word should sound familiar to you web guys) a schema.

From there on out it gets a lot more complicated with state and domain communications/sharing. It looks better thought out than most of Microsoft's libraries I've been forced to use but--as always--new languages need many releases before they are production worthy. A noble effort to simplify concurrency. With some really slick operator coding and overloading, you could probably get a similar thing going in Java or C++.

One last thing I'd like to bitch about is that this download is an MSI. Really? You really need to do that? For the love of christ, I'm a developer. Could you please just give me a standalone zipped up SDK directory that I could add to my path if I want to? I'm not even going to install this because it's going to get all up in my registry n' shit.

Re:Focuses on Interfaces to Ease the Pain (-1, Offtopic)

Anonymous Coward | more than 4 years ago | (#27908647)

GoatseChrome, GoatseUpdate and of course GoatseEULALauncher [goatse.fr].

All goatse, all the time!

Re:Focuses on Interfaces to Ease the Pain (4, Interesting)

ShadowRangerRIT (1301549) | more than 4 years ago | (#27908689)

One last thing I'd like to bitch about is that this download is an MSI. Really? You really need to do that? For the love of christ, I'm a developer. Could you please just give me a standalone zipped up SDK directory that I could add to my path if I want to? I'm not even going to install this because it's going to get all up in my registry n' shit.

While I realize that bitching about MS products is a common hobby, you could just extract the files directly [tech-recipes.com] and avoid any installation.

msiexec ships with Vista (and possibly earlier versions of Windows, I haven't checked). There are a number of third party programs that could do it as well, just look around.

Re:Focuses on Interfaces to Ease the Pain (-1, Flamebait)

EpsCylonB (307640) | more than 4 years ago | (#27908965)

real devlopers don't use windows

Re:Focuses on Interfaces to Ease the Pain (5, Insightful)

ClosedSource (238333) | more than 4 years ago | (#27909195)

I don't know about "devlopers", but real developers use whatever OS they need to get the job done.

Re:Focuses on Interfaces to Ease the Pain (0)

Anonymous Coward | more than 4 years ago | (#27909489)

real developers use whatever OS they need to get the job done.

Yes. That's what he just said.

Re:Focuses on Interfaces to Ease the Pain (1)

fel0niousmonk (1386257) | more than 4 years ago | (#27909615)

I don't know about "devlopers", but real developers use whatever OS they need, utilizing virtualization, to get the job done.

There, fixed that for you ;-)

Download VMWare and make a snapshot if you're that up in arms about it. Or track changes to the registry and post what those changes are before you run around in a circle with your hands in the air, crying wolf.

Re:Focuses on Interfaces to Ease the Pain (0)

Anonymous Coward | more than 4 years ago | (#27909359)

Please do us all a favor and go fuck yourself.
Thank you,
MGMT

Re:Focuses on Interfaces to Ease the Pain (0)

Anonymous Coward | more than 4 years ago | (#27909571)

What should they do with the other 23 hours, 59 minutes and 30 seconds of the day?

Re:Focuses on Interfaces to Ease the Pain (2, Insightful)

elnyka (803306) | more than 4 years ago | (#27909711)

And you know this because your vast professional experience tells you so? Or are you still in school, or programming in some obscure niche?

Last time I checked real developers get paid to solve real-world problems for real-world customers, not to use some company's computing facilities as dogmatic playing grounds.

Be it for writing a web page for a company or doing some complicated shit, you use the tools that get the job done, and to program against the platform that is being used by the customer whose paying your fucking paycheck.

I use a Windows XP workstation to do my coding, design and use tools like Rose, Clearcase and a requirement tracking tool, with JBuilder on one monitor, and VI (and cygwin) in another monitor.

Then I used it to compile the stuff that is going to be deployed in a heterogeneous, distributed environment that runs mostly in Linux.

At the end of the day, what we care for is the technical challenge and the HUMAN development environment, and most important of all, the knowledge that you are producing something as requested by our employers.

That is, we are earning the bread instead of being uselessly dogmatic.

Thank God that I grew up the naive college student, anti-M$ stage long time ago. I suggest you do, too.

Real professionals use what they need to do to get the job done at a customer's behest.

Little punks in geek niches use whatever platform they like best to feel good at themselves while pointing the finger at others (while not producing anything.)

Re:Focuses on Interfaces to Ease the Pain (1)

AndrewNeo (979708) | more than 4 years ago | (#27909049)

I understand your protest to using msi, but I don't believe installing add-ons to Visual Studio requires registry entries, it just extracts the files in a directory in your Program Files folder (and probably installs assemblies to the GAC). Seriously, though? You WANT to stick crap in the path for a IDE? (And even if you're using msbuild and the command line, csc.exe takes parameters, not environment variables.)
At least Microsoft is using msi's, and not random installer programs like everyone else.

Re:Focuses on Interfaces to Ease the Pain (5, Informative)

ipoverscsi (523760) | more than 4 years ago | (#27909141)

Off topic, but here goes.

The package must be shipped as a Windows Installer simply because it's got .NET objects in it. These objects must be installed in the Global Assembly Cache (GAC), which means they must be versioned and reference counted. It is possible (though unlikely) that the installer doesn't even create any registry entries.

Now, .NET was supposed to give us "xcopy installs", so it's possible that MS could ship a ZIP SDK pacakge; but then you'd be responsible for lugging around all of your dependencies from install to install of your own software. Plus, then MS would have to manage two different installation packages, and we all know how easy it is to keep different versions of the same thing in sync.

Re:Focuses on Interfaces to Ease the Pain (4, Funny)

Jurily (900488) | more than 4 years ago | (#27909247)

For the love of christ, I'm a developer.

MS applies that term to Visual Basic users too, you know.

Re:Focuses on Interfaces to Ease the Pain (1)

jebrew (1101907) | more than 4 years ago | (#27909419)

As ShadowRangerRIT pointed out, you can simply unzip the MSI. Additionally, if you've ever installed anything on Windows, there's a really high likelihood you've used .msi packages whether you knew it or not. Most larger commercial installers package an .msi in a self extracting executable. Check out Wise installer, Advanced Installer, or Install Shield and you'll see what I'm talking about.

Re:Focuses on Interfaces to Ease the Pain (3, Informative)

owlstead (636356) | more than 4 years ago | (#27909831)

With some really slick operator coding and overloading, you could probably get a similar thing going in Java or C++.

Except, of course, that Java does not do operator coding/overloading, or you'd have to tinker with the language itself (which is frowned upon by the Java community).

Re:Focuses on Interfaces to Ease the Pain (4, Informative)

BitZtream (692029) | more than 4 years ago | (#27909927)

As a developer you should be fully aware of the fact that you can extract the files from the MSI if you really want to. I'll help though. For most MSI files a simple:

msiexec /a filename.msi /qb TARGETDIR=C:\tmpdir

Will do what you want.

There is also the Less MSIerables app from the WiX project: http://sourceforge.net/projects/wix/ [sourceforge.net] that will let you extract the files directly. Plenty of tools to accomplish what you want if you'd take the 2 seconds to Google for it.

You should also be aware of the fact that the MSI probably goes ahead and integrates the SDK with Visual Studio so the libraries, binaries and help are in path and available without a bunch of extra crap to do on your part, which for me personally, I'd rather have it do than wasting my time trying to figure out what needs to be done even if they did bother to document everything.

I realize that most of the slashdot crowd thinks having to do everything from the command line based on a man page is a good thing, but for the rest of us it stopped being cool when we got out of school and had to get a job where they expected us to actually get shit done and not sit around all day with our thumbs up our asses playing with Linux.

Re:Focuses on Interfaces to Ease the Pain (3, Interesting)

iluvcapra (782887) | more than 4 years ago | (#27909931)

Much like web services, the importance seems to be in the interfaces. After scanning the developer's guide, the most important aspect of this language seems to be that it's a C# plus Axum libraries that allow you to describe "channels" with input/output keywords.

After scanning the guide as well, it reads a lot like Erlang as "improved" by a Java/C# lover. You get a lot of syntax to make strict specification, which is a win, but the result is that the language isn't very light on its feet or Lispy in the way Erlang is.

For example: Axum seems to have a pretty strict type system, which gives you the ability to catch compile-time errors more cleanly, but on the other hand, there doesn't seem to be a simple way of creating a Tuple or Array literal without using a function. And at that, while it uses concurrency like Haskel or Erlang, it doesn't appear to be at all pure-functional, or maybe it is but the design is already burping with an "isolated" keyword that warns the compiler to forbid modification of static vars within the function body.

Wanted: experienced Axum programmer (2, Funny)

Anonymous Coward | more than 4 years ago | (#27908581)

I already imagine job offer
- Minimum 5 years experience with Axum

Re:Wanted: experienced Axum programmer (0)

Anonymous Coward | more than 4 years ago | (#27909127)

I'm confused... If a joke directly reflects the reality, is it still a joke?

Axum! (1, Funny)

Anonymous Coward | more than 4 years ago | (#27908587)

Gesundheit!

My feedback (4, Funny)

Anonymous Coward | more than 4 years ago | (#27908605)

The windows version works great, but Axum on Linux isn't ready for prime time, yet. However, Axum is powerful enough that you should probably change your platform to permit its use, so if you have a new app being developed, I'd force your engineers to use Axum and develop it on windows.

And I know what I'm talking about because I'm an IT manager at a Fortune 500 company.

Re:My feedback (2, Informative)

Divebus (860563) | more than 4 years ago | (#27908687)

Exactly. More proprietary digital glop from Microsoft.

Re:My feedback (1)

elnyka (803306) | more than 4 years ago | (#27909789)

And is that a problem?

Don't like it? Don't use it.

I mean, if a customer wants to hire you to do some coding on .NET using Axum, and if after careful evaluation, you find that it makes sense for what the customer wants, what are you going to say? *unintelligible grunts* I don't do proprietary stuff?.

More power to you if you want to be highschoolishly dogmatic. I for one would do whatever, so long as it is interesting and well-paid.

Re:My feedback (5, Funny)

ultrabot (200914) | more than 4 years ago | (#27908755)

Axum on Linux isn't ready for prime time, yet. However, Axum is powerful enough that you should probably change your platform to permit its use, so if you have a new app being developed, I'd force your engineers to use Axum and develop it on windows.

I agree. I'm uninstalling Linux as we speak.

I expect 15% of the software to be written in Axum within 4 year, with the rest being split between Ruby on Rails, Silverlight and Adobe Flash Player (tm).

Re:My feedback (1)

Evanisincontrol (830057) | more than 4 years ago | (#27909641)

And I know what I'm talking about because I'm an IT manager at a Fortune 500 company.

You wield that sentence like you think it's a sudo command. Unfortunately, this [xkcd.com] doesn't work in real life.

R&D (0)

jellomizer (103300) | more than 4 years ago | (#27908609)

While I am actual surprised that C# caught on (as it is only syntacticly slightly more difficult to code then VB.NET without any real advantages) as well as it did. However languages that try to redo the way we think about how we program rarely ever make it. Even object orientation has limited success as most code is written procedurally and just use the class to just contain them in groups. (and gives us a Green Light to use Global Variables).

I haven't seen may apps that properly use OO as to do so requires management oversight, in which usually doen't know about OO anyways.

Re:R&D (3, Insightful)

odourpreventer (898853) | more than 4 years ago | (#27909181)

> I haven't seen may apps that properly use OO

True, but it's very nice for program libraries - boost, wxWidgets, Qt, etc (yes I'm a C++ programmer) - where people who know what they're doing have already done the difficult stuff for the rest of us.

Re:R&D (1)

moderatorrater (1095745) | more than 4 years ago | (#27909665)

While I am actual surprised that C# caught on

Really? Whenever I mention C# around programmers they can't stop telling me how much they love it. It's almost creepy, especially considering our company uses a completely open source production environment.

I haven't seen may apps that properly use OO as to do so requires management oversight, in which usually doen't know about OO anyways.

I've seen a lot of apps that properly use OO, but they were all written within the past 3 or so years. Anything older than that doesn't use OO or uses it badly. It seems like legacy code (the great bane of all programmers) keeps most projects from being strictly OO, and most programmers didn't master it until a few years ago anyway. Of course, I'm in web development, so YMMV.

Re:R&D (1)

feldicus (1367687) | more than 4 years ago | (#27909921)

There's a good chance that those older projects were "correctly" written with regards to OO principles. Unfortunately, we have yet to discover the programming methodology that corrects for the standard programmer response to a fix/addition on an aging project: "Ugh. I'll just hack this in. Nobody is going to know, and if they find out, they won't say anything for fear of being charged with doing all the work I'm avoiding."

feldicus

Re:R&D (0)

Anonymous Coward | more than 4 years ago | (#27909975)

I haven't seen may apps that properly use OO as to do so requires management oversight, in which usually doen't know about OO anyways.

Part of being a professional is doing the job right without needing a manager to watch over your shoulder. You're either not working with professionals or OO is not the right tool for the job you are doing.

This will be fun... (4, Interesting)

Tenek (738297) | more than 4 years ago | (#27908683)

I see Microsoft is doing its best to help developers all over the world create race conditions. I wonder how many programmers there are who never really 'got' concurrency. Hopefully I'm not one of them. (And no, there is no programming language that can prevent you from screwing it up.)

The good points of a concurrent language (4, Insightful)

Tetsujin (103070) | more than 4 years ago | (#27909301)

I see Microsoft is doing its best to help developers all over the world create race conditions. I wonder how many programmers there are who never really 'got' concurrency. Hopefully I'm not one of them. (And no, there is no programming language that can prevent you from screwing it up.)

Concurrent programming is becoming increasingly important for any kind of high-performance project. This doesn't necessarily mean one needs a "concurrent programming language" to do it - but whatever the chosen mechanism, the goal is the same - write a program that uses all cores effectively. One way or another, professional programmers are going to need to 'get' concurrency in the coming years.

The benefit of a language that provides parallelization as a basic assumption is that the language itself can provide infrastructure (for message-passing, task-scheduling, and so on) useful to the task. Such a language encourages programmers to think about problems in terms of how they can be parallelized, but leaves the compiler or the runtime engine free to make decisions about how the parallelization is to occur.

Another benefit of such a language is that a language that takes certain ideas as base assumptions can help guide the programmer's approach to a solution. This can involve a significant learning curve for the programmer (see, for instance, Prolog or various functional languages...) but it can help programmers to achieve a new way of solving their problems: in this case, one that is rather well suited to the current needs of high-performance CPUs.

The challenge with synchronization in Axum, presumably, is that it's possible to write code that will run in the engine that won't conform to the rules for an "actor" - that it will perform some non-thread-safe access to a file, or that it will otherwise do something that won't be safe when run in parallel. From that perspective it's no different from (almost) any other language - as you say, it's still possible to screw up. What it does provide, however, are guidelines and framework to help keep you from screwing up.

Re:The good points of a concurrent language (1)

OolimPhon (1120895) | more than 4 years ago | (#27909543)

I agree with what you say. However, I think the big problem is going to be that Axum seems to be just another layer on top of .NET - and how much of that has been written for parallel processing? I'm guessing not a great deal, or even very carefully.

Re:The good points of a concurrent language (1)

digitalunity (19107) | more than 4 years ago | (#27909839)

My understanding is that most functions in the .NET libraries are not reentrant.

Seems to me, .NET was developed without much concurrency in mind.

Re:This will be fun... (0)

Anonymous Coward | more than 4 years ago | (#27909375)

Occam-Pi is highly concurrent and won't let you screw up. (At least, not majorly.)

Fun? (1)

Celeste R (1002377) | more than 4 years ago | (#27909385)

Every programming language has its downsides. Race conditions -are- preventable, especially with a system to slow down fast code blocks or speeding up slow code blocks.

The easiest way (in my experience, but I'm an amateur programmer) to program concurrently is to synchronize the agent's I/O, and where it becomes hardware dependent, either queue it or prioritize it.

I can see that this is going to be a popular programming language for 4+ processor systems... but they need the right development framework to make it successful.

An agent model makes sense (used appropriately); and it would go a long ways toward making a logical development system).

I would like to see the day when logical development is easily visual and self-adaptable (not the pencil and paper kind of visual), and this is a step in the right direction.

So, where did they steal this idea from? (1)

Fantom42 (174630) | more than 4 years ago | (#27908761)

Ok, so C# is a pretty good language. (Despite its severe limitations. Seriously, thank god for C# if you've had to work with VB at all. Ugh!) Of course most of it they stole from Java, with an attempt to add refinements here and there. (Possible nefarious motives aside...)

So from what language did this one come from? Erlang?

Or did Microsoft actually create something relatively unique this time?

Re:So, where did they steal this idea from? (3, Insightful)

mmkkbb (816035) | more than 4 years ago | (#27909039)

Well, it does use the same concurrency model as Erlang, but Erlang has no concept of classes. Perhaps Scala, which I know little about except that it runs on the JVM and is supposedly better at concurrency.

Re:So, where did they steal this idea from? (2, Interesting)

ausekilis (1513635) | more than 4 years ago | (#27909249)

To me it looks more like they took XNA and adapted it to something a bit more agnostic to underlying architecture. Almost like a Blackboard [wikipedia.org]/XNA [xna.com] lovechild. They took the compartmentalized (class-driven) structure of XNA, gave a shared communication API in the same vein as Blackboard (think centralized communication system as opposed to shared discussion system... like the comm system in Quake 3 source), wrapped it up in a C# API, and called it a language.

Call me crazy... but in order for it to be truly a "language", it needs to have a compiler/interpretor, and not simply a few new keywords in an existing language (it's C# with some new datatypes).

Re:So, where did they steal this idea from? (1)

Burkin (1534829) | more than 4 years ago | (#27909289)

Of course most of it they stole from Java, with an attempt to add refinements here and there.

Because Java didn't take anything from any other languages and then refine them? You can't name a single thing in Java that can't be traced back to a previous language.

Re:So, where did they steal this idea from? (1)

Giometrix (932993) | more than 4 years ago | (#27909377)

Ok, so C# is a pretty good language. (Despite its severe limitations. Seriously, thank god for C# if you've had to work with VB at all. Ugh!) Of course most of it they stole from Java, with an attempt to add refinements here and there. (Possible nefarious motives aside...)

So from what language did this one come from? Erlang?

Or did Microsoft actually create something relatively unique this time?

When's the last time a truly unique language was created? 1950's?

The whole idea of "so and so ripped off x from y" is retarded. Humanity moves on because we take ideas and improve on them. We don't start off from scratch every time we want to try something new.

Re:So, where did they steal this idea from? (1)

x2A (858210) | more than 4 years ago | (#27909965)

"Humanity moves on because we take ideas and improve on them"

Sorry to be a grammar nazi here, but there's no excuse for being ignorant to the fact that when you take the verbs "to take and improve" and conjugate to refer to actions of Microsft, you end up with "steal and ruin and kill babies and eat puppies". This is slashdotese we speak here. It might look like English, but that's only because we were inspired by and evolved the language (again, same verbs, different inflection)

Uses actor model (1, Funny)

Anonymous Coward | more than 4 years ago | (#27908807)

The current version implements Vin Diesel and Paris Hilton.

Typical Microsoft (1, Troll)

JustNiz (692889) | more than 4 years ago | (#27908903)

>> Axum does not have capabilities to define classes, but as it runs on the .NET platform, Axum can use classes made with C#.

Why is it that Microsoft persist in vomiting up quick/crappy/hacky workarounds rather than solid solutions? and how is it that the people with the biggest blind-spot about technology and how bad Microsoft products are, are always in senior management of tech companies?

Re:Typical Microsoft (1)

mmkkbb (816035) | more than 4 years ago | (#27909323)

It's not just Microsoft. The JVM has a host of 'guest' languages besides Java, some of which exist for .NET too: JRuby vs. IronRuby, Jython vs. IronPython, Kiev vs. P# (prolog), etc. etc.

Re:Typical Microsoft (1)

Celeste R (1002377) | more than 4 years ago | (#27909527)

You can't really have an agent-based paradigm when you're focused on large blocks of code that do everything.

The gist of it is simple: you use C# to make the large blocks of code that does everything, or you can use Axum to make small blocks of code that does something small efficiently.

Which one is easier to program?

And how is this the fault of senior management or bad hacking? You can still mix and match, even though I wouldn't do so excessively.

Re:Typical Microsoft (1)

McNihil (612243) | more than 4 years ago | (#27909751)

The whole idea of reusing good and working code is what from a business point of view is deemed evil. It is imperative to milk all customers of as much money as possible without actually delivering any form of permanent solution but barely what the customer needs (not what they are asking for.)

This is not only endemic in Microsoft but any software house these days. What is worse is that this type of behaviour has now crept in the hardware realm as well. They all looked at how Microsoft et.al. do and how successful they are by doing exactly above that there is no option for any HW company than to do the same thing. Produce shoddy products so that users need to pay, pay, pay and pay some more. (Seagate I am looking at you kid and you need serious spankin')

What we NEED... (0)

Anonymous Coward | more than 4 years ago | (#27908919)

...are more programmers who understand the ramifications of asynchronous calls thoughout a system.

I have been to Axum (0)

Anonymous Coward | more than 4 years ago | (#27909081)

Axum [wikipedia.org] was actually a pretty cool place to visit. It is said to be the home of the Ark of the Covenant.

Re:I have been to Axum (0)

Anonymous Coward | more than 4 years ago | (#27909287)

And no doubt coding in Axum will make your face melt, a la Raiders of the Lost Ark.

Initial Failures (3, Interesting)

kintin (840632) | more than 4 years ago | (#27909171)

Goddamn, PDFs for language specification and programmer's guide?  Thanks guys, I'll probably never need to search this stuff, or link to a specific section.  Also, what the hell do you call this bracket style:

public Program()
{
// Receive command line arguments from port CommandLine
String [] args = recieve(PrimaryChannel::CommandLine);
// Send a message to port ExitCode;
PrimaryChannel::ExitCode <-- 0; }

I can't help but think that their idea of "Channels" is really a message queue, which listeners pull messages from.  This is easily implemented in around 30-40 lines of Python, Queues, Tasks and Listeners.  And since Python supports these crazy things called CLASSES, it's really quite easy to implement new features or override base functionality.

In other words, this is an incredible waste of time.  Put all these kids to work on IronPython and close this crap down.

Naming vs architecture (3, Funny)

xouumalperxe (815707) | more than 4 years ago | (#27909221)

previously known as Maestro and based on the actor model

Somebody has their performance arts mixed up

Queue a new internet Want ad (5, Insightful)

Like2Byte (542992) | more than 4 years ago | (#27909259)

Wanted:
Senior Software Engineer
Windows Platforms
MFC C++ - 10 Years
C# - 5 years
Axum - 5 years

You *know* it's going to happen.

Re:Queue a new internet Want ad (1)

Sancho (17056) | more than 4 years ago | (#27909597)

Cue people saying, "It's cue, not queue."
Then cue people defending it saying that you're putting the ad into a queue.

MPI much? (1)

aws4y (648874) | more than 4 years ago | (#27909393)

Seriously this looks an awful lot like Microsoft doing MPI. In which case they should just drive a railroad spike through both testicles, or ovaries.

Was C# Not Enough? (3, Insightful)

CodeBuster (516420) | more than 4 years ago | (#27909433)

The thread control facilities available in the C# language are already quite extensive and include pretty much every known way to control concurrency presently used in software: mutexes, semaphores, locks, etc...they are all there. For example, the following paper (PDF link) [microsoft.com], written by Andrew Birrell of Microsoft Research, covers all the basics and explains the various options in C#. If they wanted more robust threading frameworks then why not simply add the relevant classes to the .NET Framework class library (i.e. in System.Threading)?

Re:Was C# Not Enough? (3, Informative)

Bill, Shooter of Bul (629286) | more than 4 years ago | (#27909765)

Its not a threading language, its a distributed concurrency language like erlang. So its designed to send messages locally or across a cluster, in a fast, safe,and easy manner. Yes, you could do everything in c# that it does, but not easily. Look over the documentation and you'll find some things that would be odd to you as a c# developer. Some sections that won't let you modify a variable's contents, to keep certain sections free of side affects.

Basically its a different way of doing things that should help create easy,bug free, high performance, concurrent software.

Re:Was C# Not Enough? (1)

Orii (55092) | more than 4 years ago | (#27909805)

Sometimes you can make things much easier in a new language. Clojure uses STM for concurrency control, which is much easier due to Clojure's strong preference for immutable data. You'd have a lot more pain using STM in a language not designed for it.

thankfully... (1)

AlgorithMan (937244) | more than 4 years ago | (#27909707)

thankfully

Axum does not have capabilities to define classes

I don't have to make up reasons to not use this (which I usually would have to, because I hate Microsoft...)

what is it about object-orientation that microsoft doesn't get? read MSDN sourcecodes - it's like a trip to 1960...

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...