Slashdot Mirror


Microsoft Releases New Concurrent Programming Language

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."

297 comments

  1. WTF is a "Concurrent Programming Language"? by Alethes · · Score: 5, Informative
    1. Re:WTF is a "Concurrent Programming Language"? by Z00L00K · · Score: 2, Insightful

      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.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    2. Re:WTF is a "Concurrent Programming Language"? by Alethes · · Score: 4, Insightful

      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.

    3. Re:WTF is a "Concurrent Programming Language"? by theArtificial · · Score: 4, Insightful

      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.

      --
      Man blir trött av att gå och göra ingenting.
    4. Re:WTF is a "Concurrent Programming Language"? by Anonymous Coward · · Score: 1, Insightful

      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.

    5. Re:WTF is a "Concurrent Programming Language"? by molarmass192 · · Score: 3, Insightful

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

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    6. Re:WTF is a "Concurrent Programming Language"? by chthon · · Score: 3, Insightful

      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.

    7. Re:WTF is a "Concurrent Programming Language"? by Clarious · · Score: 1

      So .NET can have every programming paradigms?

    8. Re:WTF is a "Concurrent Programming Language"? by Tanktalus · · Score: 4, Funny

      "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.

    9. Re:WTF is a "Concurrent Programming Language"? by Burkin · · Score: 2, Insightful

      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.

    10. Re:WTF is a "Concurrent Programming Language"? by Anonymous Coward · · Score: 0

      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.)

    11. Re:WTF is a "Concurrent Programming Language"? by elnyka · · Score: 1

      Yep, and that's pretty much a good thing.

    12. Re:WTF is a "Concurrent Programming Language"? by davester666 · · Score: 2, Informative

      "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."

      --
      Sleep your way to a whiter smile...date a dentist!
    13. Re:WTF is a "Concurrent Programming Language"? by moderatorrater · · Score: 2, Insightful

      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.

    14. Re:WTF is a "Concurrent Programming Language"? by meuhlavache · · Score: 1

      thanks... now I've forgot my question...

    15. Re:WTF is a "Concurrent Programming Language"? by x2A · · Score: 3, Funny

      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.

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    16. Re:WTF is a "Concurrent Programming Language"? by ducky101 · · Score: 1

      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.

    17. Re:WTF is a "Concurrent Programming Language"? by SQLGuru · · Score: 2, Funny

      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?

    18. Re:WTF is a "Concurrent Programming Language"? by Anonymous Coward · · Score: 0

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

    19. Re:WTF is a "Concurrent Programming Language"? by cowdung · · Score: 2, Interesting

      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.

    20. Re:WTF is a "Concurrent Programming Language"? by DragonWriter · · Score: 1

      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.

    21. Re:WTF is a "Concurrent Programming Language"? by afabbro · · Score: 3, Interesting

      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.

      This is not true of every Fortune 500 shop I've ever worked in. Most PHBs never met a platform they didn't like. Hell, at my current gig, we have mainframe, AS/400, Solaris, HP-UX, AIX, Linux (2 distros!), Windows, Oracle, DB/2, Sybase, MySQL, JBoss, Websphere, Cisco, Foundry, etc.

      Lots of big shops are heterogenous to the point of pathology.

      --
      Advice: on VPS providers
    22. Re:WTF is a "Concurrent Programming Language"? by Eirenarch · · Score: 1

      Yes Microsoft heard the news 2 weeks ago and decided that they needed concurent programming language to counter it so they hacked one in 2 weeks. And btw what is the concurrent language that already exists for the .NET platform?

    23. Re:WTF is a "Concurrent Programming Language"? by Ralish · · Score: 3, Insightful

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

      I'd suggest several major reasons:
      1. Integration with the .NET Environment.
      2. Integration with the Visual Studio IDE.
      3. Maximise control of the style of the language, featureset and its future direction.

      If you check the wikipedia page the parent linked to, there are already stacks of concurrent programming languages available, it's not like there's some universal standard concurrency language out there Microsoft is trying to displace. That, and the above points, particularly with respect to .NET, does give it a unique feature that distinguishes it from other concurrent languages (even if you loathe .NET, it still separates it from the rest).

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

      Yes and no. You can take the whole lock-in argument (not entirely unreasonably), but you can also take the argument that for those who don't actually have a need to develop something for multiple platforms, a language fundamentally focused on a Windows-centric design with related tools is probably a huge positive. Why code in a language with a crap toolset/IDE (assuming there is one) and various other potential problems when MS offers one that plugs into .NET, VS, and is guaranteed to work great on Windows out of the box? That, and if you're already familiar with the above, the migration path I suspect is quite easy.

      Of course, this being .NET based, Mono may or may not support some of this stuff. No idea.

    24. Re:WTF is a "Concurrent Programming Language"? by ToasterOven · · Score: 1

      ... and knowing is half the battle.

    25. Re:WTF is a "Concurrent Programming Language"? by KingMotley · · Score: 3, Interesting

      it's a programming language which splits up multiple threads of execution into different processes instead of threads.

      That would be an incorrect definition of concurrent programming language. The actual implementation of executing multiple things isn't defined. There are many flaws in your "history lesson". OS/2 blew chunks when compared to NT at the time, and the SDK for OS/2 was a major pain to get anything working.

      COM wasn't made after CORBA, it predated it, and it was developed by IBM. Much of CORBA was even based on COM, COM is mentioned all over the place in the original CORBA documentation. COM was licensed to Microsoft, which is why there was a sudden shift away from ActiveX controls and the like to the new .NET platform 8 years ago (license was expiring). I was never a huge fan of MFC, as it's design (document centric) didn't fit many of my needs. And as for the "nonstandard C" compilers, that's quite a joke as noone had a standard C compiler if it was worth anything. ANSI C was retarded and didn't support much of anything beyond hello world back then. Even your beloved OS/2's C compiler was mostly proprietary in nature. K&R C was even more popular and powerful and I would argue was a much better C standard than ANSI C at least at the time.

      As for windows not supporting threads, I'm not sure where you got that from as most of my work back then all involved multi-threaded applications, and supported everything from NT 3.1 and up.

    26. Re:WTF is a "Concurrent Programming Language"? by Grishnakh · · Score: 2, Insightful

      Visual BASIC is so unlike the BASICs I learned in the 80s on the Commodore, Apple, and other small computers that it might as well be a different language.

      Also, MS isn't pushing developers to use C or C++ any more, they're pushing them to use C# and .NET, which are MS inventions.

    27. Re:WTF is a "Concurrent Programming Language"? by RightSaidFred99 · · Score: 1

      You are stupid. Microsoft's OS's are better at multi-threading than most Linux OS's. Linux is better at clones, however.

    28. Re:WTF is a "Concurrent Programming Language"? by Grishnakh · · Score: 1

      It seems to me that it's usually the small shops that are really stuck on MS products, even though with their lesser resources they have the most to gain from exploring competing alternatives.

    29. Re:WTF is a "Concurrent Programming Language"? by shutdown+-p+now · · Score: 2, Interesting

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

      As with most other Microsoft languages - because, while this is a research project currently, it may well become productized in 5 years, and at that point they'll want something that looks familiar, at least syntactically, to C# programmers, so as to not scare them away. It's not a new thing, either - Spec# is a similar research language based on C#, but for Design by Contract (and bits of DbC based on it will be in .NET 4.0, though as library features, and not in the language proper). C-omega was another project in the same vein that provided basis for LINQ.

      On a side note, the major (and finally fully realized in the upcoming 4.0) benefit of using .NET in the first place is that you get first-class interop between very different languages. In 4.0, you can define an interface in C#, and implement it in IronPython. IronPython code can furthermore call some pure functional F# code, create some (Python, dynamic) object encapsulating the result, and return it to C# again, which will be able call some methods on that object using late binding / duck typing. It's one step above the traditional approach using FFI for C-style APIs that's common in Unix land for mixing C++/Java/ML/Python code, since your API boundaries use higher-level primitives (objects, typesafe collections, tuples etc - rather than structs and pointers).

      However, this necessitates the "embrace and extend" for all languages involved, to provide that seamless interop. For example, you can still use plain Python code with IronPython, but if you want to use the language interop capabilities, you'll have to use some IronPython-specific stuff. On the other hand, F# is designed from ground up to have that interop built into the language, which is why it differs on many points from Objective CAML (from which it is derived).

    30. Re:WTF is a "Concurrent Programming Language"? by benow · · Score: 1
      > Also, MS isn't pushing developers to use C or C++ any more, they're pushing them to use C# and .NET, which are MS inventions.

      ... done by lured Borland architects. Despite this, derivatives and even duplication can be good. Eventually the good is derived and improved, the excess is stripped.

    31. Re:WTF is a "Concurrent Programming Language"? by igny · · Score: 1

      I can see big potential for using concurrent computing in Excel. Every cell in spreadsheets deserves its own thread, this way the Excel does not crash by one mistake in one cell.

      --
      In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
    32. Re:WTF is a "Concurrent Programming Language"? by davidsyes · · Score: 1

      CPL might be confusing enough... Don't tell the PHB that thanks to the new tech merger, Oracle can penetrate new openings where the Sun don't shine... hehhehe

      --
      Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
    33. Re:WTF is a "Concurrent Programming Language"? by Anonymous Coward · · Score: 0

      Heterogeneous environments can be good for reliability too. This is why I'd like to see heartbeat/cluster/shared-storage protocols get opened and standardized. Imagine the resiliency of, say, a 3 node database cluster running on three different operating systems. It would be more of a pain to maintain, but you'd never have all 3 hitting the same bugs. It's possible, with the right standards in place and the right implementation spirit, to accomplish this.

    34. Re:WTF is a "Concurrent Programming Language"? by Korin43 · · Score: 0

      I think several billion threads may be a little too much..

    35. Re:WTF is a "Concurrent Programming Language"? by Yhippa · · Score: 1

      Sounds like a lot of steak dinners for those PHB's.

    36. Re:WTF is a "Concurrent Programming Language"? by reallyjoel · · Score: 1

      Since it's MS, they were obviously lured. Not scouted. Lured. Decieved. Bastards!

    37. Re:WTF is a "Concurrent Programming Language"? by Anonymous Coward · · Score: 0

      "never have all three hitting the same bugs"....

      The OS world is far more homogeneous than people like to think. In many cases, there are very few implementations/libraries that virtually everyone relies on, particularly in the OSS world.

      The only odd man out is typically Microsoft, as they pathologically reimplement everything, but even software on Windows often uses the exact same OSS libraries as everyone else.

    38. Re:WTF is a "Concurrent Programming Language"? by Hognoxious · · Score: 0, Offtopic

      Visual BASIC is so unlike the BASICs I learned in the 80s on the Commodore, Apple, and other small computers that it might as well be a different language.

      It's true. Those old languages existed in a tiny ROM, a plug in cartridge, or cassette - and they were crap.

      Visual basic is different - it's stored on your hard disk.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    39. Re:WTF is a "Concurrent Programming Language"? by mikael · · Score: 1

      Lots of big shops are heterogenous to the point of pathology.

      Risk analysts advice multinational corporations not to become dependent on any one vendor to avoid lock-in, or country to avoid the locals starting to get uppity and start demanding higher wages or better working conditions.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    40. Re:WTF is a "Concurrent Programming Language"? by Anonymous Coward · · Score: 0

      I don't understand this. I see this comment made quite often. I am responsible for a little over 1.5 million dollars in license fees per year. The large majority of that goes to our reseller for MS products. I have not once been taken out for a steak dinner; in fact, there would be hell to pay if I did take a steak dinner from a vendor.

      Maybe it's different in different industries, but in mine, you can be fired and even prosecuted for taking things from a vendor with which you do business.

    41. Re:WTF is a "Concurrent Programming Language"? by Unoti · · Score: 1

      I love all that is good and holy about geek culture as much as the next guy. Microsoft innovated a hell of a lot with Visual Basic, .NET, and C#. To deny it is ignorance or incorrigible fanboism or both.

      I recognize that C# is real similar to Java. I've done lots of coding professionally in both. I won't get into the specifics because people either already have their minds made up or don't care. .NET's Gui library is better than Swing. Their tools are better than anything anybody else makes. There are language features that Microsoft has innovated that left Java struggling to catch up with.

      I'm in no way a Microsoft fanboy. I'm just saying that Microsoft has come up with some game changing innovations, and and the very least, decent honest techies should acknowledge that Visual Basic was one of them.

    42. Re:WTF is a "Concurrent Programming Language"? by Grishnakh · · Score: 1

      I never said anything about innovation. I said that Visual BASIC was completely unlike the old BASICs I learned as a kid on Apple IIs and the like, and that .NET and C# were MS inventions, unlike C and C++.

    43. Re:WTF is a "Concurrent Programming Language"? by ivucica · · Score: 1

      You mean process. We've all seen so many crashes of entire process caused by a single thread. Threads are not mutually isolated, that's their point. Processes are.

      Long live the fork().

    44. Re:WTF is a "Concurrent Programming Language"? by ConceptJunkie · · Score: 1

      So what? The reality is the most popular products for MS platforms were not MS inventions.

      Is there any major product from Microsoft, except Windows itself that actually originated at Microsoft?

      Not that there's anything inherently wrong with that, but 95% of their innovation was purchased, not made. Take a look at wild stuff MS Research is doing sometime. Does _anything_ they do ever end up in a product?

      --
      You are in a maze of twisty little passages, all alike.
    45. Re:WTF is a "Concurrent Programming Language"? by setagllib · · Score: 1

      You're much more likely to get the union of all three sets of bugs. I know I would much rather have all machines set up with few bugs, than with a great diversity of bugs that I could never hope to keep up with.

      --
      Sam ty sig.
    46. Re:WTF is a "Concurrent Programming Language"? by setagllib · · Score: 1

      That's why anyone submitting their ideas should record them, maybe even prototype them in a similar open source system. If Microsoft even attempts to patent them, submitting the above as evidence will get their patent rejected or severely narrowed in claims. Sleep with a dog, get fleas.

      --
      Sam ty sig.
    47. Re:WTF is a "Concurrent Programming Language"? by FooRat · · Score: 1

      Microsoft innovated a hell of a lot with Visual Basic, .NET, and C# ... There are language features that Microsoft has innovated ... I'm just saying that Microsoft has come up with some game changing innovations, and and the very least, decent honest techies should acknowledge that Visual Basic was one of them.

      OK, I'm curious, name ten of these "innovations". Make SURE that they were actually original ideas, not just implementations of pre-existing ideas.

    48. Re:WTF is a "Concurrent Programming Language"? by BasharTeg · · Score: 2, Insightful

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

      Yes, clearly the concurrent programming language problem is all wrapped up and doesn't need any further innovations or development.

      It's ridiculous how hostile people are to what happen to be really cool Microsoft research projects. I know it doesn't mesh well with the idea that Microsoft steals everything and invents nothing but if you're more interested in Computer Science rather than pushing an anti-Microsoft agenda, you'd see that some of their ideas are really cool and tend to spawn related ideas that help advance the industry as a whole.

      Microsoft has put *significant* efforts into developing *multiple* concurrent programming languages and libraries because it is an area that definitely needs new development and new innovations to meet the challenge of development in the manycore era.

      Funny I didn't see all this negativity when Apple started talking about "Grand Central". As if that system is going to be useful on any platform other than OSX.

    49. Re:WTF is a "Concurrent Programming Language"? by CarpetShark · · Score: 1

      No, they're pushing CLR. They don't care if you use C# or IronPython, as long as it's limited to a platform they control. Note that this almost certainly includes mono -- what better than to create a platform that abstracts your software away from x86 to any mobile device etc., and to have Novell do all the work of supporting those other devices while you focus on windows until it goes extinct?

    50. Re:WTF is a "Concurrent Programming Language"? by Anpheus · · Score: 2, Insightful

      If you subscribe to certain philosophies, all ideas always existed, we simply discovered them.

      Regardless of your adherence to such a philosophy, you have to admit that it doesn't really matter who created the idea, but who first successfully implemented it.

      It's not like the people at Microsoft are somehow less capable because 100% of their ideas are 100% original, rather, they still had to have the intelligence to code it, document it, test it, etc.

    51. Re:WTF is a "Concurrent Programming Language"? by Anpheus · · Score: 1

      It does, but basic research isn't carried out purely to produce products, and you should understand that as well as anyone, being a slashdotter.

      After all, the slashdot community decried every closing of a basic research facility over the past decade because of the long-term negative impact. Basic research, that is, research performed without the intent to turn a profit or be implemented in a product, is the basis of almost all of our technologies today.

      MS Research should not be measured by what current projects they have that have ended up in products, but by what products 10, 25, 50 years from now will have their roots in papers, mockups, and actual code written by the people at MS Research.

      This is the same for any research apparatus.

    52. Re:WTF is a "Concurrent Programming Language"? by Anpheus · · Score: 1

      This may not be the case as there are constant ongoing improvements done to both kernels, but for a long time the Unix based kernels were highly tuned for fast process creation/duplication through fork() and the NT kernels were highly tuned for fast thread creation. Now I think the difference is becoming less significant, but I believe this is still the case.

    53. Re:WTF is a "Concurrent Programming Language"? by mattack2 · · Score: 1

      ...and being stored on disk is inherently better *why*?

      Instead of it being there upon machine powerup, not even having to boot a disk to get to it.

    54. Re:WTF is a "Concurrent Programming Language"? by ivucica · · Score: 1

      Parent of my post says

      Every cell in spreadsheets deserves its own thread, this way the Excel does not crash by one mistake in one cell.

      I was just pointing out there's no real corellation between splitting process into threads and "not crashing". Perhaps he meant to speak about delays, but crash is to me the "Illegal operation", the "Send or don't send report", the "Segmentation fault", etc., and not plain old hanging...

    55. Re:WTF is a "Concurrent Programming Language"? by mattack2 · · Score: 1

      ...and of course the "old BASICs" were in most cases written by MicroSoft too. (e.g. AppleSoft)

    56. Re:WTF is a "Concurrent Programming Language"? by shutdown+-p+now · · Score: 1

      Also, MS isn't pushing developers to use C or C++ any more, they're pushing them to use C# and .NET

      This was the trend between 2002 (first .NET release) and roughly 2008, but now it's changing. If you read articles on new stuff in the upcoming Visual Studio 2010, you'll notice that much more attention is now given to native programming - there are new C/C++ APIs (e.g. the new ones for writing and using Web Services), new .NET APIs are paired with similar C++ APIs (.NET Parallel LINQ / C++ Parallel Patterns Library), and so on. All new features in Visual C++ 2010 seem to be mainly benefitting native mode (e.g. it will have C++0x lambdas, but they won't be usable as .NET delegates, though it would be a logical thing to do for C++/CLI). And so on.

      Then, also, look at the new stuff in .NET. The rationale for almost all new C# features - optional & named arguments and "dynamic" - include, among other things, "better COM interop" (in fact, it's usually first, and interop with IronPython and the like are down on the list).

      In fact, you can even spot that from terminology change. For a long time, Microsoft has been calling .NET "managed code", and C++ "unmanaged code", everywhere, emphasizing the benefits of "managed". Now, it's not "unmanaged" anymore - it's "native".

      C++/Win32 is back, baby! .NET isn't going away, of course, but it's no longer "my way or the highway" anymore.

    57. Re:WTF is a "Concurrent Programming Language"? by Anonymous Coward · · Score: 0

      The "fewer" companies, not 'less'.

      Tsk - Grammar these days! (rolls eyes)

    58. Re:WTF is a "Concurrent Programming Language"? by i.of.the.storm · · Score: 1

      My most recent GUI programming experience is with Swing, and I have to chime in that a GUI toolkit written by a braindead monkey would be better than Swing. Actually, it's not always so bad, but the results always look horrible by default (yes, I know you can use a native look and feel, but it should be the default) and I often get weird glitches in Swing programs (I use several on a regular basis) where suddenly the entire screen becomes a bunch of duplicated versions of the top left corner of the screen.

      --
      All your base are belong to Wii.
    59. Re:WTF is a "Concurrent Programming Language"? by TheTurtlesMoves · · Score: 1

      The whole "multi core programing...is new" is a total joke. I have been writing serious code since the early 90s and it was more or less standard practice to be able to write "concurrent" code back then. Why does everyone think its new. There was lots of languages that did this automatically (badly) etc. Java was peddled as mutithread aware back when it was released.

      And yet what do most people use? C or C++.

      I have a hard time finding C/C++ as the right tool for the right job these days.

      --
      The Grey Goo disaster happened 3 billion years ago. This rock is covered in self replicating machines!
    60. Re:WTF is a "Concurrent Programming Language"? by TheTurtlesMoves · · Score: 1

      I find it depressing how far behind mainstream languages are from the academic state of the art. However some of the academic languages have terrible tools. No matter how good the language or the coder there will be bugs. It would be nice to at least have a line number when something goes wrong.

      --
      The Grey Goo disaster happened 3 billion years ago. This rock is covered in self replicating machines!
    61. Re:WTF is a "Concurrent Programming Language"? by Anonymous Coward · · Score: 0

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

      I'd suggest several major reasons:

      1. Integration with the .NET Environment.

      2. Integration with the Visual Studio IDE.

      3. Maximise control of the style of the language, featureset and its future direction.

      If you check the wikipedia page the parent linked to, there are already stacks of concurrent programming languages available, it's not like there's some universal standard concurrency language out there Microsoft is trying to displace. That, and the above points, particularly with respect to .NET, does give it a unique feature that distinguishes it from other concurrent languages (even if you loathe .NET, it still separates it from the rest).

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

      Yes and no. You can take the whole lock-in argument (not entirely unreasonably), but you can also take the argument that for those who don't actually have a need to develop something for multiple platforms, a language fundamentally focused on a Windows-centric design with related tools is probably a huge positive. Why code in a language with a crap toolset/IDE (assuming there is one) and various other potential problems when MS offers one that plugs into .NET, VS, and is guaranteed to work great on Windows out of the box? That, and if you're already familiar with the above, the migration path I suspect is quite easy.

      Of course, this being .NET based, Mono may or may not support some of this stuff. No idea.

      The issue I have with your post , is "is guaranteed"
      LOL , Microsoft creates products which do not work!

    62. Re:WTF is a "Concurrent Programming Language"? by Anonymous Coward · · Score: 0

      Whoooosh.

    63. Re:WTF is a "Concurrent Programming Language"? by Anonymous Coward · · Score: 0

      I'm suprised that nobody has mentioned newsqueak from Mr Pike yet.

      http://www.youtube.com/watch?v=HmxnCEa8Ctw

    64. Re:WTF is a "Concurrent Programming Language"? by ConceptJunkie · · Score: 1

      Right. My comment wasn't meant to be a criticism of MR. I think those guys are total boffins, and wish them all the luck in the world.

      "May your code compile on the first try, your machine never crash, and all your pointers be valid!"

      I also respect Microsoft for creating and supporting pure research. My criticism to them was that there is precious little innovation to be found in Microsoft products, not because they lack the brain-power (I worked with an ex-Microsoftie and he was a very sharp guy), but because well, their interests and their goals are really not aligned with the concept of innovation, or even giving customers a decent product. Not at the highest levels, despite all the hard-working thousands of engineers, testers and other folks in the trench who are trying to do the best work that they can. Microsoft isn't a software company, they're a monopoly company.

      Software is, these days, almost an after-thought, a means to an end. Not the end of making money, which is the goal of all business, but the end of how they make money: Unfairly.

      --
      You are in a maze of twisty little passages, all alike.
    65. Re:WTF is a "Concurrent Programming Language"? by budgenator · · Score: 1

      WoooHoo, Microsoft just invented Ada!

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    66. Re:WTF is a "Concurrent Programming Language"? by MenThal · · Score: 1

      code it, document it, test it, etc.

      One out of three ain't bad.

    67. Re:WTF is a "Concurrent Programming Language"? by mattack2 · · Score: 1

      Ok, I admit I thought I might be being whooshed when I replied.

    68. Re:WTF is a "Concurrent Programming Language"? by Meski · · Score: 1

      Time to drink a coffee whilst machine boots.

    69. Re:WTF is a "Concurrent Programming Language"? by Meski · · Score: 1

      For a long time, Microsoft has been calling .NET "managed code", and C++ "unmanaged code", everywhere, emphasizing the benefits of "managed". Now, it's not "unmanaged" anymore - it's "native".

      C++/Win32 is back, baby! .NET isn't going away, of course, but it's no longer "my way or the highway" anymore.

      Managed vs Unmanaged... Managed is *always* going to sound better to the PHBs. Native just sounds better.

      Make the Redmontonians uncomfortable, and ask them when they are implementing Office or Visual Studio in .Net

    70. Re:WTF is a "Concurrent Programming Language"? by shutdown+-p+now · · Score: 1

      Make the Redmontonians uncomfortable, and ask them when they are implementing Office or Visual Studio in .Net

      I don't know about Office, but you can see the videos from PDC 2008 to see what Visual Studio 2010 is about, and part of it is new WPF-based UI. In fact, the publicly available VS2010 CTP already has the new WPF-based editor in it. And here are some screenshots from VS build which has the rest of the shell converted to WPF as well.

    71. Re:WTF is a "Concurrent Programming Language"? by Meski · · Score: 1

      /cry.
          I guess if I don't like the answer, I shouldn't have asked the question.

    72. Re:WTF is a "Concurrent Programming Language"? by shutdown+-p+now · · Score: 1

      Well, the good side of it is that some particularly annoying WPF deficiencies are finally being fixed, and performance improved. So I suggest you wait until the final release to see how it turns out.

      (By the way, the fix linked above won't be in VS2010 beta 1, according to a post on MSDN blogs that I can't find right now.)

    73. Re:WTF is a "Concurrent Programming Language"? by Anonymous Coward · · Score: 0

      Waaa haaa haaa haa

    74. Re:WTF is a "Concurrent Programming Language"? by Locutus · · Score: 1

      I was not stating a definition of concurrent programming, just describing how I saw it.

      CORBA 1.0 was released in 1991, OS/2's WorkplaceShell was the first commercial implementation of CORBA and Microsofts COM was released in 1993.

      And I never stated Windows didn't support threads.

      too much of your rebuttal is wrong. thanks for playing so poorly.

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    75. Re:WTF is a "Concurrent Programming Language"? by Locutus · · Score: 1

      And you can't read. The threading talk was between Windows and OS/2, not Linux. Try again.

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    76. Re:WTF is a "Concurrent Programming Language"? by KingMotley · · Score: 1

      COM - or OLE/DDE as it was called originally -- was released in 1990, predating CORBA.

    77. Re:WTF is a "Concurrent Programming Language"? by KingMotley · · Score: 1

      Sorry, I should have been more clear.

      DDE was release in 1987.
      OLE which is an extension of DDE, was released in 1990. Later this will form the basis of COM, and ActiveX.

      ** Disclaimer: I used to work for the parent of the wonderware company discussed in the DDE wikipedia article.

    78. Re:WTF is a "Concurrent Programming Language"? by Locutus · · Score: 1

      and the covered wagon predates the automobile. DDE does but who cares. OLE might but again, who cares, it's not CORBA-like. COM was a response to SOM which was the CORBA implementation IBM created. I saw and used SOM well before I saw Microsoft hit the market with COM so it sure looked like a reaction to me and that is pretty much how they operated to this day. Reactionary.

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    79. Re:WTF is a "Concurrent Programming Language"? by Locutus · · Score: 1

      and COM came after SOM so you were incorrect. BTW, why did you even bring that up, it didn't have anything to do with my comment on functional programming?

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    80. Re:WTF is a "Concurrent Programming Language"? by KingMotley · · Score: 1

      If you are referring to the name "COM", you would be correct.

      COM is a name given to a set of technologies that existed prior to the name, one of which is OLE. OLE 1.0 was released in 1990 and predates SOM. So the technologies that the name COM encompasses predates SOM. I hope that makes this clearer. The API for exchanging data between applications existed prior to COBRA in OLE. COBRA based much on OLE (Now known as COM). Microsoft extended OLE to be able to talk across networks originally calling it network OLE, but later refers to this technology as DCOM or Distributed COM.

      If you want to go back even further, NetDDE existed in 1988, and did much of what COBRA/DCOM did, but it was harder to use (message based rather than object like), and was finally replaced completely for the first time in Microsoft Vista. (Windows XP's Clipboard viewer, hearts game, etc still use NetDDE to talk across the network).

      I apologize if using the more generic/newer name for the technologies in question has caused you to become confused. I hope I have cleared some of that up for you.

  2. Focuses on Interfaces to Ease the Pain by eldavojohn · · Score: 4, Informative
    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.

    --
    My work here is dung.
    1. Re:Focuses on Interfaces to Ease the Pain by ShadowRangerRIT · · Score: 4, Interesting

      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 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.

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
    2. Re:Focuses on Interfaces to Ease the Pain by AndrewNeo · · Score: 1

      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.

    3. Re:Focuses on Interfaces to Ease the Pain by ipoverscsi · · Score: 5, Informative

      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.

    4. Re:Focuses on Interfaces to Ease the Pain by ClosedSource · · Score: 5, Insightful

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

    5. Re:Focuses on Interfaces to Ease the Pain by Jurily · · Score: 4, Funny

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

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

    6. Re:Focuses on Interfaces to Ease the Pain by Anonymous Coward · · Score: 0

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

    7. Re:Focuses on Interfaces to Ease the Pain by jebrew · · Score: 1

      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.

    8. Re:Focuses on Interfaces to Ease the Pain by Anonymous Coward · · Score: 0

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

      Yes. That's what he just said.

    9. Re:Focuses on Interfaces to Ease the Pain by uncreativeslashnick · · Score: 1

      You're right, only the employed ones do.

    10. Re:Focuses on Interfaces to Ease the Pain by Anonymous Coward · · Score: 0

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

    11. Re:Focuses on Interfaces to Ease the Pain by fel0niousmonk · · Score: 0

      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.

    12. Re:Focuses on Interfaces to Ease the Pain by elnyka · · Score: 2, Insightful
      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.)

    13. Re:Focuses on Interfaces to Ease the Pain by owlstead · · Score: 3, Informative

      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).

    14. Re:Focuses on Interfaces to Ease the Pain by BitZtream · · Score: 4, Informative

      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/ 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.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    15. Re:Focuses on Interfaces to Ease the Pain by iluvcapra · · Score: 3, Interesting

      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.

      --
      Don't blame me, I voted for Baltar.
    16. Re:Focuses on Interfaces to Ease the Pain by Anonymous Coward · · Score: 0

      Clean the mess out of the keyboard

    17. Re:Focuses on Interfaces to Ease the Pain by MyLongNickName · · Score: 3, Funny

      Am I the only one who translates "fixed that for you" into "I'm a dumb, annoying fuck"?

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    18. Re:Focuses on Interfaces to Ease the Pain by Orion+Blastar · · Score: 1

      Real developers with jobs, use whatever OS and programming language that management tells them to use, if they want to keep their jobs that is.

      Real developers without jobs contribute to open source projects using whatever language and OS they want. Sadly if you want the freedom to choose your OS and programming language, you have to be without a job to do so, or do it on your spare time at home as your real job requires you to use something else.

      The only exception to this is to start up your own small business and develop software and solutions and be your own boss and create your own job or work for an open source software business.

      --
      Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    19. Re:Focuses on Interfaces to Ease the Pain by iguana · · Score: 1

      ThreadX forever!

    20. Re:Focuses on Interfaces to Ease the Pain by Just+Some+Guy · · Score: 0, Flamebait

      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.

      That's cute. In response, 99% of Linux users would've used their package manager to install the equivalent and all its dependencies, and the other 1% would've downloaded the source to deal with it themselves (because someone has to make the packages, right)?

      So let's boil down your argument to: "I bet people using a different computer system than mine like to do things a dumb way! I'm smart! Har-har-har!"

      --
      Dewey, what part of this looks like authorities should be involved?
    21. Re:Focuses on Interfaces to Ease the Pain by pbaer · · Score: 1

      Java doesn't let developers overload operators, but the language does anyways. It's frustrating that + is overloaded to mean add numbers and concatenate strings, but I'm not allowed to do something similar in my own programs.

      --
      There are 11 types of people, those who know unary and those who don't.
    22. Re:Focuses on Interfaces to Ease the Pain by Alpha830RulZ · · Score: 1

      Real developers with maturity use the language that the existing environment and team uses, so they don't create support nightmares for themselves by adding unneeded complexity to the environment. I don't give two shits that you like language X better than language Y. If the system is written in language X, that is what the maintenance team is going to be best at, so enhancements should be written in language X unless you have a damn good reason for change.

      Says the guy responsible for 4 different implementations of the same business process, written in C#, Java, Pel, and ksh.

      --
      I was taught to respect my elders. The trouble is, it's getting harder and harder to find some.
    23. Re:Focuses on Interfaces to Ease the Pain by cbhacking · · Score: 1

      I'm curious: Operating on the assumption that you've at least tried Linux, do you bitch about .deb/.rpm/.tgz (with install scripts) too? All of these serve essentially the same purposes as .msi:

      Dependency checking ("You need to have .NET 3.5 before installing this, let me grab that for you").
      Installation tracking and easy repair installations or un-installs.
      A built-in way to distribute a package or update across many machines.
      A standard way of packing multiple files (msi packages can in fact be extracted; the tool to do it is called msiexec - the same one used to install or un-install them, behind the scenes - and ships with all recent versions of Windows).
      The ability to execute commands necessary to finalize the install (like editing environment variables).

      If you want to install it manually, that is possible... but far more likely to screw something up than just using the package the way its packager intended you do.

      --
      There's no place I could be, since I've found Serenity...
    24. Re:Focuses on Interfaces to Ease the Pain by Anonymous Coward · · Score: 0

      visual basic makes baby jesus cry.

    25. Re:Focuses on Interfaces to Ease the Pain by cbhacking · · Score: 1

      I believe it ships with 2000, it's certainly in XP. Updated versions of it are available through Windows Update, although most packages will work fine with older versions of msiexec.

      --
      There's no place I could be, since I've found Serenity...
    26. Re:Focuses on Interfaces to Ease the Pain by fel0niousmonk · · Score: 0

      You do realize you just did the same thing, right?

    27. Re:Focuses on Interfaces to Ease the Pain by owlstead · · Score: 1

      There is good reason why Java does not do operator overloading. It's much easier for parsers to have few overloading possibilities. But more importantly, operator overloading by class implementors is hardly done right. I've got countless C++ examples I can draw from (starting with the ubiquitous shift operators for streams of course). Also, operators have the nagging side effect that users of the classes will use more of them on a single line, where you would otherwise have one, more easy to understand statement.

      Of course the use of a concatenate character instead of + would have been more logical. It would remove confusion with the + sign for single characters. The use for operator overloading for classes that represent some kind of numbering system (BigInteger, BigDecimal etc) might have been useful. But I suppose that that is something for languages that do away completely with basic types.

    28. Re:Focuses on Interfaces to Ease the Pain by Anonymous Coward · · Score: 0

      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.

      THANK YOU !
      (I work in a linux zealot shack and every goddam day I get snide comments about the Windows on my portable machine)

    29. Re:Focuses on Interfaces to Ease the Pain by Anonymous Coward · · Score: 0

      Shut up, faggot.

    30. Re:Focuses on Interfaces to Ease the Pain by micromuncher · · Score: 1

      Actually...

      Interceptors are a decent way to hide extra crud (like transactional services) and rely heavily on interfaces to do what they do. If M$ really wanted to do coolness, they'd redesign a language from ground up to do AOP/IoC.

      --
      /\/\icro/\/\uncher
    31. Re:Focuses on Interfaces to Ease the Pain by aztracker1 · · Score: 1

      Sorry, still working out these dev repository conflicts in Ubuntu. ;) Seriously though, it really doesn't matter *that* much. Most applications today are service/request based, and though a single process (thread) may be serial, the operations on the server are highly parallel anyhow. Though this can be really handy for desktop apps.

      --
      Michael J. Ryan - tracker1.info
    32. Re:Focuses on Interfaces to Ease the Pain by katpurz · · Score: 0

      I want to party with this guy... I like his style.

    33. Re:Focuses on Interfaces to Ease the Pain by StuartHankins · · Score: 1

      Actually I couldn't do half of what I do with only a GUI -- a great deal of what I do is scripted rather than clicky-clicky.

      Some of us do a bit more than "play" with Linux, it's the cornerstone of our business. Those scripts enable communication from various servers, control the replication and offsite backup processes, warn us of stuck print jobs, transform print jobs to PDF's (and place them in user folders), send email alerts, import MySQL data, update SQL Server-based databases, communicate with various trading partners, provide feedback throughout the day to our Executive team, send mass faxes to our customers (impositioning "opt out" boilerplate text), allow users to unlock sessions, manage updates across server groups and more. Yes you could do some of this with custom apps -- and I write my share of those too -- but my scripts tend to be smaller, faster and easier to maintain, especially on our equipment.

      I've been out of school quite a long time, and what really counts is productivity, regardless of the tools you choose to use. If your GUI tools work best for you then great. I'll use scripting -- SSH from my laptop, practically any server or even my iPod Touch -- thank you, with no need to launch Visual Studio or other such bloated IDE for most tasks.

    34. Re:Focuses on Interfaces to Ease the Pain by bit01 · · Score: 1

      Real developers with jobs, use whatever OS and programming language that management tells them to use, if they want to keep their jobs that is.

      Real developers work with management to select and use the best tool for the job, whether new or old, and fire incompetents who can't cope with change and continuous process improvement.

      ---

      Are you thinking long term? Just because a TCO may be good in the short term doesn't mean it's good in the long term.

    35. Re:Focuses on Interfaces to Ease the Pain by shutdown+-p+now · · Score: 2, Informative

      After scanning the guide as well, it reads a lot like Erlang as "improved" by a Java/C# lover.

      It's probably just your perspective :) I'd say it's more like C# improved by an Erlang lover, and it's probably closer to the truth.

      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.

      Actually, they have one example of an array literal in the paper - apparently, it's just curly braces:

      For example, the following expression combines output from two interaction points ip1 and ip2 and passes the result on to an interaction point twoNumbers:

      receive( { ip1, ip2 } &>- twoNumbers );

      The expression above uses curly braces for array creation. In Axum, implicit array creation is a convenient syntactic construct that is used often when building network expressions ...

      I don't know about tuple literals though. If they use the stock tuples from .NET 4.0 (as they probably should later on), which is System.Tuple generic class "overloaded" for varying number of type parameters, then tuples can be created with Tuple.Create(n1, n2, ...) call - which, of course, is still just a library function, but I wouldn't call it overly verbose. In practice, tuple literals are only really required when you want to have pattern matching in the language, which they don't seem to have.

    36. Re:Focuses on Interfaces to Ease the Pain by trawg · · Score: 1

      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

      Also, 7zip seems to be able to extract .msi's as well like they were ZIP files:

      http://www.7-zip.org/

      I just tried it with a .msi I had lying around and was able to right-click-extract it to a new folder really easily.

    37. Re:Focuses on Interfaces to Ease the Pain by ClosedSource · · Score: 1

      Since when do developers fire anyone?

    38. Re:Focuses on Interfaces to Ease the Pain by iluvcapra · · Score: 1

      I am enlightened. Thank you.

      --
      Don't blame me, I voted for Baltar.
    39. Re:Focuses on Interfaces to Ease the Pain by TheTurtlesMoves · · Score: 1

      Even with things like BigInteger/BigDecimal etc its not as clear cut as everyone likes to think. Even things like rounding modes that are implied are not clear from a/b, where you tend to check the docs with a.divide(b) and there is implied state beyond the expected semantics of the operator.

      I loved the idea of operator overloading in C++ until I worked on someone else's code that used it. Its no big loss in a language. I would far prefer closures, continuations and tuples.

      --
      The Grey Goo disaster happened 3 billion years ago. This rock is covered in self replicating machines!
    40. Re:Focuses on Interfaces to Ease the Pain by bit01 · · Score: 1

      Since when do developers fire anyone?

      Developers, particularly senior developers, make recommendations to management all the time. There are many ways a developer can let a manager know they feel another developer isn't pulling their weight and management sometimes even listens.

      ---

      Don't be a programmer-bureaucrat; someone who substitutes marketing buzzwords and software bloat for verifiable improvements.

    41. Re:Focuses on Interfaces to Ease the Pain by kauttapiste · · Score: 1

      Am I the only one who translates "fixed that for you" into "I'm a funny, sociable chap"?

      Fixed that for you.

    42. Re:Focuses on Interfaces to Ease the Pain by elnyka · · Score: 0, Flamebait

      I bow to your impressive powers of highschoolish rhetoric. I'll let you sit behind the comfort of your keyboard as you feel all mighty and witty. If insulting gives you comfort from the fact that you cannot elaborate a logical counter-argument, more power to you. After all, if you cannot defend your point of view logically and methodically, then you never had a valid point of view to begin with.

    43. Re:Focuses on Interfaces to Ease the Pain by ClosedSource · · Score: 1

      Good senior developers would try to work with the developer to improve his performance rather than trying to get him fired.

    44. Re:Focuses on Interfaces to Ease the Pain by Orion+Blastar · · Score: 1

      True because Senior Developers are responsible for the other developers under them to train and support them.

      They would try to train a junior developer to improve his/her performance, and when that doesn't work, try something else to train them with, when you run out of training ideas and ways to improve them, then and only then do you suggest they go on probation or be fired.

      --
      Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    45. Re:Focuses on Interfaces to Ease the Pain by lie2me · · Score: 1

      Come on, MSI is targeting PHBs.
      Why would developers bother with downloading MSI?
      PDF was enough for me.

    46. Re:Focuses on Interfaces to Ease the Pain by bit01 · · Score: 1

      Good senior developers would try to work with the developer to improve his performance rather than trying to get him fired.

      Both. As the peer post says it is best to help a developer to improve however it depends on the situation. Sometimes the weak developer got the job under false pretenses. I've seen that more than once and in that situation they deserve zero consideration. Malicious/political developers who deliberately sabotage ditto. Slack, inflexible and unfocused developers are a problem also but as noted they deserve help and a chance to shape up. Untalented and junior developers need high level guidance but usually there's something for them to do and they will improve over time.

      ---

      Any large public or private organisation paying recurring, per-seat licensing for software is being economically stupid.

  3. Wanted: experienced Axum programmer by Anonymous Coward · · Score: 2, Funny

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

    1. Re:Wanted: experienced Axum programmer by Anonymous Coward · · Score: 0

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

    2. Re:Wanted: experienced Axum programmer by elnyka · · Score: 1

      Hahahahaha, good one :)

    3. Re:Wanted: experienced Axum programmer by Orion+Blastar · · Score: 1

      Hardy har har:

      Wanted Windows 7.0 Axum developer, must work with .Net 4.0 and Microsoft Office 2010, must have minimum of five years of experience in all of them, knowledge of standardized OOXML by the ISO a must.

      No open source developers accepted, must have at least a Bachelor's degree in Computer Science minoring in Axom programming and Concurrent Languages knowledge.

      Of course they will get thousands of submissions from people in India, China, and Russia claiming to have such experience on their resumes, ready for an H1B Work Visa program.

      --
      Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    4. Re:Wanted: experienced Axum programmer by Orion+Blastar · · Score: 1

      Yes it is, welcome to the 21st century.

      Many IT managers read "Dilbert" to get new ideas about how to manage their IT employees by following what the PHB (Pointy Haired Boss) does. "Dilbert" cartoons are based on reality and people keep sending in their IT Nightmare stories to Scott Adams who keeps turning them into "Dilbert" stories.

      --
      Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
    5. Re:Wanted: experienced Axum programmer by Jekler · · Score: 1

      LOL! In 1998 I was looking for a job as a web developer. I had about 2 years experience, and I saw ads for 10+ years HTML experience. I explained to an interviewer it wasn't even possible for anyone to have 10 years of HTML experience, that the language didn't exist 10 years ago and anyone who tells you they have 10+ years experience is lying. I explained that even Tim Berners Lee doesn't have 10 years experience. The interviewer just shrugged and said "Well, that's one of the job requirements. We're not looking for anyone with less than 10 years experience."

    6. Re:Wanted: experienced Axum programmer by Anonymous Coward · · Score: 0

      HTML had been around for quite a while before 1998 and before that, there was SGML going back to at least 1986. But you could never get those people (cough) to do web design for a living, lol.

  4. Axum! by Anonymous Coward · · Score: 1, Funny

    Gesundheit!

  5. My feedback by Anonymous Coward · · Score: 4, Funny

    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.

    1. Re:My feedback by Divebus · · Score: 2, Informative

      Exactly. More proprietary digital glop from Microsoft.

      --

      Most of the stuff on /. won't survive first contact with facts.
    2. Re:My feedback by ultrabot · · Score: 5, Funny

      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).

      --
      Save your wrists today - switch to Dvorak
    3. Re:My feedback by Schnoogs · · Score: 0

      You'd think they were a company or something

    4. Re:My feedback by Evanisincontrol · · Score: 1

      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 doesn't work in real life.

    5. Re:My feedback by godrik · · Score: 1

      Do you know that this idea is clearly not new. Intel TBB provide the same programming model (and much more) for smps and Datacutter ( http://www.cs.umd.edu/projects/hpsl/ResearchAreas/DataCutter.htm ) provide it on grids. That are just the ones I know for working in parallel programming and not even on pratical side of it.

    6. Re:My feedback by elnyka · · Score: 1
      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.

    7. Re:My feedback by hosecoat · · Score: 1

      Could this be the year of Axum on Linux?

    8. Re:My feedback by Divebus · · Score: 1

      It's another trap. Proprietary digital glop from Microsoft gave us an Internet that doesn't interoperate like it should - and they're still trying to poison everything that's not tied to their profits. No thanks.

      --

      Most of the stuff on /. won't survive first contact with facts.
    9. Re:My feedback by Anonymous Coward · · Score: 0

      Please give us a call- we think you'd be a great fit with our organization!

          -The Gartner Group

    10. Re:My feedback by Anonymous Coward · · Score: 0

      > 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.

      wow... MS announces a new system and buddy here has a evaluation of it's usefullness as a development target. That was fast.... you work for MS?

      Force application to windows on a brand new MS platform which "is not ready for prime time" (Linux version only apparently.... again, all evaluations on the day of announcement!!!)

      And this is why Managers should never be allowed to make technical decisions.

      That Fortune 500 company... Microsoft?

    11. Re:My feedback by DocHoncho · · Score: 1

      Silly boy. The Internet wouldn't "inter-operate" any better without Microsoft than it does now. See, the problem is that humans have trouble inter-operating with each other in the first place, so it stands to reason that their inventions probably won't inter-operate either.

      If it weren't Microsoft's "proprietary digital glop" it'd be someone else's. Hell, even the FOSS digital glop doesn't always play nice. Humans are highly territorial, even in the digital realm. People naturally have different, and often mutually exclusive ways of thinking about, and tackling problems. Very bad for inter-operation.

      But go right ahead and keep pulling for that inter-operating digital utopia. It'll happen just after the Year of Linux on the desktop.

      --
      Celebrity worship is a poor substitute for Deity worship and costs more to boot.
    12. Re:My feedback by elnyka · · Score: 1
      Please pray tell. How should the internet interoperate, and how precisely is it that M$ glop stops it from doing so?

      Last time I checked SNMP worked fine, and so did SMTP. I haven't seen a single thing on M$ that is stopping me from invoking web services from one client (be it .NET, Java, Perl or whatever) to the provider (be it .NET, Java, Perl or whatever.)

      You were able to reply to my post, just as I'm able to reply to yours. So where is the breakdown in interoperability, my dear young buck.

    13. Re:My feedback by Divebus · · Score: 1

      Old Buck, actually. Yes, we're replying to each other's posts. Thank the Maker we don't have to deal with properly decoding MS-ASCII... yet. I'll still bet my browser looks different than your browser.

      Certainly you've seen Rob Weir's assessment that Microsoft's Office ODF Plugin was completely non-interoperable with ODF. Office writes its own flavor of ODF and fails the read and write tests in both directions where everything else appears to work, or is at least on the road to debugging. I doubt that was an accident. ODF has a "sow's ear" quality to it anyway, but this has to be deliberate from Microsoft. Bravo on their effort to turn ODF into MS-ODF.

      If you're living solely inside the Microsoft castle walls, of course everything will work. Well, maybe most things. SNMP and SMTP are protocols, but if you stuff them with unexpected glop, there go your abilities to interoperate. Rewind the clock a few years and try using a platform other than Microsoft's to see web pages or read email. Sure, SMTP from Outlook and Exchange works but you'll be presented with this winmail.dat bullshit instead of an RFC compliant email message. Why do they do that? It's just an RTF attachment but that would be too standard.

      Or take good old IE which worked well only with Microsoft's server extensions creating a client-server relationship with the "browser" instead of stateless exchange standards as intended. It's HTTP, right? It's what's inside that counts and it isn't standard and IE is only partially a "browser". Front Page wrote broken HTML that only IE could decode properly, somehow. The goal was that everyone would see a blank or broken page on the internet unless they were using a complete chain of Microsoft technology. Interoperability is not in Microsoft's interests. Never has been. There was plenty of overlap between browser standards and what Microsoft was doing, enough to see something on the Internet, but even that was crafted to make everyone else's browsers look illiterate. Eventually, everyone reverse engineered what they were doing but we're still digging out from it.

      Java? You don't think Microsoft torpedoed Java? They released Visual Studio 6 which was Java sans cross platform functionality. No, Microsoft has done a lot to kill compatibility with their products. It's so crazy that people say Microsoft is open and standard. Yikes. They'll supply the programming tools, the protocols, the servers and the clients - even the operating system but nobody really knows what's going on inside. It's certainly very accessible and the tools are very good but it isn't standard. One patch and everything turns proprietary.

      If Microsoft actually used standards, they would be compatible with 100% of everything else using standards. Instead, they're compatible with only 80% of everything else. Perl is one of the few areas that Microsoft is behaving. Good call on that. At least ActivePerl for Windows is just an effort to make Perl work better on Windows but Microsoft's actions with Perl are more puzzling than "normal" considering their track record.

      --

      Most of the stuff on /. won't survive first contact with facts.
    14. Re:My feedback by elnyka · · Score: 1
      Wait a second. Microsoft torpedoed Java? Java is well, alive and kicking last time I checked. Plus, you still haven't provided a concrete example of broken internet interoperability (and no, browser compatibility is a minuscule example of internet interoperability.)

      ODF is not part of the Internet architecture. Please stay on topic.

      Also, please provide me an example, a pervarsive example of M$ glop breaking SNMP and SMTP. There are far more important Internet architecture characteristics than the annoying interoperability hiccups between a selected number of client software.

    15. Re:My feedback by Divebus · · Score: 1

      You've heard of "Embrace, Extend, Extinguish"? Yes, Microsoft torpedoed Java. They were in court over it when Sun figured out Microsoft, their partner, was trying to hijack the language to be Windows only. For years, it was - and still is - confusing on whether to develop with Java or J++ or .NET or whatever flavor of Java-like implementation Microsoft trotted out. Many developers thought it puzzling that between Visual Studio 97 and Visual Studio 6.0 they were suddenly building incompatible Java. "Write Once, Run Anywhere" was torpedoed. Only because of developers who figured out what Microsoft was up to did Java survive this long. The upper hand is apparently going to .NET now. Compatibility with .NET is coming from reverse engineering the product (Mono), not through any help from Microsoft. They're only interested in you to install, deploy and maintain .NET, not know what's happening inside.

      "You need Internet Explorer to use this web site". Why? Because someone from Microsoft took a CIO to lunch and dropped off their developer tools at no charge. Tada... instant entrapment. There are still some of those sites out there and browser compatibility is still an issue. IE and everything associated with it was sabotage.

      SMTP is fine unless the payload is illegible. TNEF. Most all email clients can read it now that they've reverse engineered how to decode the glop inside.

      Oh, don't get me wrong... from a corporate standpoint, it makes perfect sense to make sure all your competitors fail. It's hell on interoperability, though.

      --

      Most of the stuff on /. won't survive first contact with facts.
    16. Re:My feedback by elnyka · · Score: 1
      I remember when they went to court. I've been using Java since it's inception, so I remember all that and the J++ crap. But that didn't torpedoed Java. Java continued unscatched.

      And no, we are not playing semantics here. When something gets torpedoed, it gets nixed. That what it means. Java didn't get nixed.

      And the upper hand is not going to .NET. Not at all. Java still has a greater customer share, and it will retain it so for years to come for the simple fact that it runs in Linux, Solaris and HP-UX (man I hate HP-UX) and in other architectures.

      Because of that and other technical merits is that Java has survived this long, not because the developers "wised up" during the J++ debacle.

      That fact alone, that it can run in multiple architectures (which is a must in truly large heterogeneous enterprise computing/integration) that Java/J2EE reigns. .NET makes sense in large, Windows-only shops (and that type of deployment make sense in some environments.) But by large, it does not, and that's Java strength.

      To claim that .NET is gaining the upper hand is a bit silly. Deployment base of Java is larger than .NET; there is no visible trend of migrating Linux/Solaris/HP-UX deployment bases to Windows; hiring trends on both platforms seem to stay the same.

      Ergo, there is no significant evidence to suggest .NET is actually increasing to a degree that it will somehow overcome JVM deployments. However, .NET is becoming a richer environment to develop than the JVM. Java is showing its age, and both Sun and the Java community are too complacent and very unsupporting of new languages running on the JVM. This has the ability to hurt development productivity on the JVM on the mid-long run.

      I still don't see this hell in interoperability, though. Hurdles and annoyances, yes. Hell? No. In all my years using Java for developing web applications, web services and J2EE apps (throwing some Perl, VB, Oracle HTMLDB and stuff glued together with awk, shell scripts and rsync here and there) on Linux, Solaris and Windows with JBoss, Tomcat or WebLogic, sometimes on top of some weird network infrastructure (on top of years of doing Tier II/III support) with customer bases spread from the US to Scandinavian countries, Latin America, China and India (and sometimes forced to support on-the-fly translation to multiple languages) I have never seen this unsurmountable interoperability hell, just the standard glitches that you get with any type of heterogeneous platforms spread across multiple data centers with people telling you "I need this shit done by... yesterday."

  6. R&D by jellomizer · · Score: 0

    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.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:R&D by FishWithAHammer · · Score: 1

      While I am actual surprised that C# caught on

      It's Java without a number of the Java hassles. Why would you be surprised?

      --
      "You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
    2. Re:R&D by larry+bagina · · Score: 1

      The c# syntax is a real advantage over vb.net.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    3. Re:R&D by odourpreventer · · Score: 3, Insightful

      > 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.

    4. Re:R&D by moderatorrater · · Score: 1

      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.

    5. Re:R&D by feldicus · · Score: 1

      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

    6. Re:R&D by Anonymous Coward · · Score: 0

      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.

    7. Re:R&D by Rockoon · · Score: 1

      I don't think its C# they love as much as it is the .NET framework as combined with Visual Studio.

      It is awesome to program with and for.... Thats all there is to it.

      --
      "His name was James Damore."
    8. Re:R&D by gbjbaanb · · Score: 1

      and don't forget the good concurrent stuff - OpenMP for example:

      #pragma parallel for
      for (i=0; i < 10; i++)
      {
      // do ten iterations in parallel.
      }

      so easy! Add Intel's TBB and you have seriously easy and powerful concurrent programming. Without having to reengineer to MS-Java++.

    9. Re:R&D by jellomizer · · Score: 1

      Well it is a case with OO espectially for large projects you need to be sure that the wheel isn't reinvented. For large projects with hundreds of developers and thousands of classes it is really easy for a wheel to be reinvented where they could have just extended or just use an existing class. You need management layer (Who sees the big picture) to assure that the employees are not reinventing the wheel over and over again.

      Even as a professional for a large projects (in which OO was suppose to build) you need a management layer to insure the rest of the people are just as professional and information is properly distributed.

      Management doesn't always mean a pointy hair boss but a Sr. Developer who has a big picture view and enough authority to tell someone to stop doing it that way and do it differently.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    10. Re:R&D by Anonymous Coward · · Score: 0

      ...management oversight, in which usually doen't know about OO anyways.

      Management doesn't always mean a pointy hair boss but a Sr. Developer who has a big picture view and enough authority to tell someone to stop doing it that way and do it differently.

      So your original post could be restated as "(Sr. Developer who has a big picture view and enough authority to tell someone to stop doing it that way and do it differently) oversight, in which usually doen't know about OO anyways."

      If your Sr. Developers don't know OO then they're either not very senior or OO isn't the right tool for the job.

    11. Re:R&D by reallyjoel · · Score: 1

      I have to agree, VS is the best IDE out there, hands down. MS sure knows where to put its effort, make the best IDE and programmers will follow. And that leads to market domination by software library size.

    12. Re:R&D by shutdown+-p+now · · Score: 2, Informative

      Frankly, #pragmas are ugly, and what if you want to parallelize operations on STL containers? How about a library solution using C++0x lambdas instead:

      #include <ppl.h>
      using namespace Concurrency;
       
      std::list<int> xs = ...;
      parallel_for_each(
        xs.begin(), xs.end(),
        [&](int x) { /* do whatever you want the item here */ });

      But, of course, it would require you to embrace "MS-Java++", and therefore automatically evil, right?

    13. Re:R&D by DocHoncho · · Score: 1

      The c# syntax is a real advantage over vb.net.
      --
      [citation needed]

      Your sig is apropos to your comment. Please enlighten us with the real advantages of C#'s syntax over VB.Net's. And no, familiarity doesn't count.

      --
      Celebrity worship is a poor substitute for Deity worship and costs more to boot.
  7. This will be fun... by Tenek · · Score: 4, Interesting

    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.)

    1. Re:This will be fun... by Anonymous Coward · · Score: 0

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

    2. Re:This will be fun... by BitZtream · · Score: 1

      Bullshit. Concurrency CAN BE ABSTRACTED away from the programmer, just like the OS abstracts away the hardware.

      No CURRENT programming language can fix human error, but they can be designed to deal with it better.

      Just because you haven't seen a working implementation of the abstraction doesn't mean it can't be done. It can be done. Its just a question of when it will be done, and if its worth doing. Generally adding a bunch of layers of abstraction isn't something you want to do on a project that needs high performance, which would be one of the reasons you'd want to use a concurrency model in the first place.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    3. Re:This will be fun... by rrohbeck · · Score: 1

      Show me how to create a race condition or a deadlock in BASIC.

  8. So, where did they steal this idea from? by Fantom42 · · Score: 1

    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?

    1. Re:So, where did they steal this idea from? by mmkkbb · · Score: 3, Insightful

      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.

      --
      -mkb
    2. Re:So, where did they steal this idea from? by thrillseeker · · Score: 4, Interesting

      The "channel" technique makes me think of Occam.

    3. Re:So, where did they steal this idea from? by dabas · · Score: 1

      Java was original?

    4. Re:So, where did they steal this idea from? by ausekilis · · Score: 2, Interesting

      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/XNA 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).

    5. Re:So, where did they steal this idea from? by Burkin · · Score: 1

      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.

    6. Re:So, where did they steal this idea from? by Giometrix · · Score: 1

      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.

      --
      Download free e-books, lectures, and tutorials at bookgoldmine.com
    7. Re:So, where did they steal this idea from? by x2A · · Score: 1

      "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)

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    8. Re:So, where did they steal this idea from? by OrangeTide · · Score: 2, Insightful

      "but Erlang has no concept of classes."

      One of Erlang's strengths.

      --
      “Common sense is not so common.” — Voltaire
    9. Re:So, where did they steal this idea from? by feldicus · · Score: 1

      Enough other unoriginal things have come along since Java's inception that you can now forget about its own ideological hiccups. You might have missed the memo.

      feldicus

    10. Re:So, where did they steal this idea from? by feldicus · · Score: 1

      C++
      HTML
      **insert further derived technologies here**

      feldicus

    11. Re:So, where did they steal this idea from? by mmkkbb · · Score: 2, Insightful

      Well, I wouldn't say that classes are bad in and of themselves, but trying to bolt classes onto Erlang certainly wouldn't make sense.

      --
      -mkb
    12. Re:So, where did they steal this idea from? by elnyka · · Score: 1
      Do you have anything original to say, or does talking about shit you don't know make you feel good?

      I've been doing Java for almost a decade, and I can tell you that C# is not Java, nor it resembles it beyond being having a C-like syntax.

      Tards keep thinking C# is J++ of infamy, while in reality it is not. The CLR is a VM written from scratch just as C# is. Leveling the accusation the C# is stolen from Java has as much merit as accusing Java of stealing, I dunno, C++.

      I would actually say that, in many aspects C# got it right and that Java has flunked it very bad in others.

      The concept of an object oriented language did not start with Java. The concept of a virtual machine didn't start with it either.

      The JVM is the finest virtual machine in production today, but Java, as a language has flunked in several aspects. And the JVM as a platform for other languages is an opportunity that is not being pursued at all.

      As much as a fan and professional of Java and Linux that I am, one has to admit that the M$ folks and its developer community are doing a much better job at researching programming languages that the developing communities around the JVM.

      Feel free to use my last paragraph to add a quasi-witty comment about M$ failures and what not.

    13. Re:So, where did they steal this idea from? by dido · · Score: 3, Informative

      From the looks of things, C.A.R. Hoare's Communicating Sequential Processes (yes, the same guy who invented Quicksort). Well, Professor Hoare presently works at Microsoft Research, so I guess he may have more than passing involvement in the project. It's the basis for many other concurrent programming languages such as Occam, Erlang, and Limbo to name a few.

      --
      Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
    14. Re:So, where did they steal this idea from? by kohaku · · Score: 4, Interesting

      I think most concurrent languages have been derived at least in part from CSP, so they'll probably all 'feel' like occam; it's just occam got there first. Incidentally, if you already knew about occam, you might want to check out David May's (the guy behind Occam) new startup XMOS.
      I'm not affiliated, but I do own their dev kit :-)

    15. Re:So, where did they steal this idea from? by elnyka · · Score: 1

      A lot of brilliant people work at Microsoft Research, to the chagrin of the young bucks looking for a cause to rally for.

    16. Re:So, where did they steal this idea from? by Fantom42 · · Score: 1

      Tards keep thinking C# is J++ of infamy, while in reality it is not. The CLR is a VM written from scratch just as C# is. Leveling the accusation the C# is stolen from Java has as much merit as accusing Java of stealing, I dunno, C++.

      Having learned both C++, Java, and C#, I'd have to reaffirm my belief that C# is a relatively uninspired improvement of Java.** This is a subjective thing. J++ was much worse, and a failure. C# is a more thoughtful reattempt which admitedly brings more to the table. I don't disagree that many of the refinements are useful. As are the refinements on the VM concept that didn't orginate, but certainly was popularized by, Java. Specifically, they did a very good job of doing a similar thing that GCC has been doing--unifying their intermediate languages.

      My question was in earnest. I really did want to know how much this new MS language brought to the table, Given their spotty history in language development.

      ** A bit off-topic but since you brought up C++, I think C++ is so general purpose that its really hard to talk about anything being stolen from C++ other than maybe syntax. C++ is kind of this giant homunculus of paradigms and languages and features representing, oh I don't know, Bjarne Stroustup's mental model of how all the language paradigms should fit together, or something. In other words, kinda weird, and its own beast in and of itself.

    17. Re:So, where did they steal this idea from? by glwtta · · Score: 1

      Or did Microsoft actually create something relatively unique this time?

      I love a good MS bashing as much as the next guy, but this is kind of a reach. New languages are designed to be useful, not unique; hell, the vast majority of features in all modern languages come from either ALGOL, Lisp, or Simula.

      --
      sic transit gloria mundi
    18. Re:So, where did they steal this idea from? by PCM2 · · Score: 1

      Well, it does use the same concurrency model as Erlang, but Erlang has no concept of classes.

      Neither does Axum.

      --
      Breakfast served all day!
    19. Re:So, where did they steal this idea from? by DannyO152 · · Score: 1

      Real concurrency on the jvm: try clojure

    20. Re:So, where did they steal this idea from? by shutdown+-p+now · · Score: 1

      Well, I wouldn't say that classes are bad in and of themselves, but trying to bolt classes onto Erlang certainly wouldn't make sense.

      This looks like it works the other way around - Axum seems to use conventional C# syntax for most things, and looks like you can indeed define "plain C# classes" in it. It then bolts on Erlang-style message passing on top of that.

    21. Re:So, where did they steal this idea from? by OrangeTide · · Score: 1

      Many languages implement classes badly. And sometimes a class isn't a useful metaphor for some systems. But mostly the comment was tongue-in-cheek.

      --
      “Common sense is not so common.” — Voltaire
    22. Re:So, where did they steal this idea from? by shutdown+-p+now · · Score: 1

      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).

      How, exactly, do you think they add "a few new keywords" to "an existing language" without writing a new compiler for the resulting language that includes the additions?

      It's not like C# lets you define new keywords (for better or worse, it's not Common Lisp).

    23. Re:So, where did they steal this idea from? by _mt99 · · Score: 1

      Read up on http://en.wikipedia.org/wiki/Calculus_of_Communicating_Systems and then http://en.wikipedia.org/wiki/Pi-calculus The mentioned languages are just varying implementations. Microsoft is one of the very few places that actually fund any sort of research into properly-done concurrency.

    24. Re:So, where did they steal this idea from? by elnyka · · Score: 1
      C# implementation of generics, autoboxing, properties and annotations predate the ones in Java, and are much better. C# generics utilize reification, as opposed to the type-erasure abomination we ended up getting in Java.

      Partial classes do not exist in Java (though this is a matter of philosophy in terms of separating concerns.)

      C# nullable types do not exist in Java. We have been having to create our own concotions since day one to get the same effect.

      Anonymous delegates/monads are another example of good stuff not readily supported by Java. Going back to generics, in C#, you can mark them as contra-variant if you want. Try that in Java and see what you get.

      The implementation of annotations in C# is clean, and its generic collection classes are equally so. Not so with the collections classes in Java.

      The worst thing of all is the stupid Java "+" operator for Strings. I still cannot understand why that shit hasn't been revamped so as to not create an extra String object per "+" operation. This is, perhaps, one of the main factors in seeing poorly written apps getting tanked by their garbage collectors.

      The JVM is bar none, the best there is. And to this date, there is nothing competing with Java when it comes to heterogeneous enterprise integration. But Java, as a language, it is a land of missed opportunities.

      In fact, the JVM now is a land of missed opportunities; Sun, the JCP and the Java community in general is extremelly unsupportive of using the JVM as a platform for running multiple languages. They are now, grudgingly by many, supporting Scala, and there is nothing but lack of support (even mockery) for folks trying to make Groovy and Clojure work.

      Land of missed opportunities.

      The fact that Anders Hejlsberg is/was the main honcho in developing C# should be reason enough to really take a look at the language and get some good lessons from it.

      The fact that MS Research has employed C.A.R. Hoare, Leslie Lamport, Jim Gray (rip) and so many other Ph.Ds in Computer Science and Mathematics, in close collaboration with some of the top notch universities should be reason enough to really pay attention to what they are doing.

      Microsoft is fully pushing for research of new languages in their .NET platform (in startk contract to Sun). Objections to their business practices aside, this can only be good things on matter of language research. So yes, your opinion that C# is a relatively uninspired improvement of Java is very subjective. It is not based on reality of application development or language theory. Putting aside the J++ fiasco, M$ does not have a spotty history in language design.

      For better or worse, VB was a major improvement in what we had back in 1993. Hell, even QuickBasic was a good tool to develop stuff back then. FoxPro took to implement really nice features as Visual Foxpro under Microsoft. And the list can go and on (and of course, detractors can always find something to point a finger at.)

      *** now consider this, I'm a Java/Linux developer who develops on Linux whenever possible***

      But I give credit where credit is due. M$ history on language design is not spotty. They have a lot of real talent, Ph.D caliber working at Microsoft Research. Their research in distributed computing, software architecture, new language design is among the best.

      It is important to separate criticism of business practices from unwarranted criticism on technical merits of some of the excellent work M$ research is pursuing.

    25. Re:So, where did they steal this idea from? by marol · · Score: 1

      There was a question about this on the Axum forum, where Niklas elaborates some about the inspirations for Axum.

  9. Uses actor model by Anonymous Coward · · Score: 1, Funny

    The current version implements Vin Diesel and Paris Hilton.

    1. Re:Uses actor model by cptnapalm · · Score: 2, Funny

      I heard that the Hilton model will infect you with viruses...

    2. Re:Uses actor model by maxwell+demon · · Score: 2, Funny

      I've heard that they include Arnold Schwarzenegger, who is needed to terminate the program.

      --
      The Tao of math: The numbers you can count are not the real numbers.
  10. obvious troll is obvious by Reality+Master+201 · · Score: 1

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

    Chortle.

  11. Typical Microsoft by JustNiz · · Score: 1, Troll

    >> 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?

    1. Re:Typical Microsoft by mmkkbb · · Score: 1

      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.

      --
      -mkb
    2. Re:Typical Microsoft by Celeste+R · · Score: 1

      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.

      --
      There are no perfect answers, only the right questions. More questions at http://foresightandhindsight.blogspot.com/
    3. Re:Typical Microsoft by McNihil · · Score: 1

      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')

    4. Re:Typical Microsoft by McNihil · · Score: 1

      Hey the interface took out my "sarcasm*cynicism" tags.

    5. Re:Typical Microsoft by zokier · · Score: 1

      Using right tool for right job is now hacky workaround?

      It's nearly impossible to make all-encompassing solution to anything, much less to create a programming language that does everything.

    6. Re:Typical Microsoft by elnyka · · Score: 1

      And you know this is a hacky workaround because?

  12. What we NEED... by Anonymous Coward · · Score: 0

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

    1. Re:What we NEED... by zmower · · Score: 1

      You'd need a coherent architecture for a start. State models coming out yer ears. And preferably tool support. I think if you attempt to hack anything more than trivial in this then you're asking for trouble.

      The synchronous Ada rendezvous model is looking more and more like a stroke of genius.

      --

      Sig pending!
  13. Yes, but does it run Linux? by LunarEffect · · Score: 0, Flamebait

    on, that is.

  14. I have been to Axum by Anonymous Coward · · Score: 0

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

    1. Re:I have been to Axum by Anonymous Coward · · Score: 0

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

  15. Initial Failures by kintin · · Score: 3, Interesting

    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.

    1. Re:Initial Failures by Anonymous Coward · · Score: 2, Funny

      I suppose it was one of your ancestors that ridiculed the horseless carriage for not having a horse.

    2. Re:Initial Failures by cbhacking · · Score: 1

      If your PDF reader can't do fast searches or bookmark specific sections, time to upgrade to one that doesn't utterly suck...

      --
      There's no place I could be, since I've found Serenity...
    3. Re:Initial Failures by Anonymous Coward · · Score: 0

      Did Microsoft really misspell "receive" in their language?

    4. Re:Initial Failures by dodobh · · Score: 1

      Think Erlang, Haskell, Scala, Groovy and Clojure. Not Python.

      --
      I can throw myself at the ground, and miss.
    5. Re:Initial Failures by Abcd1234 · · Score: 1

      Why think when you can simply dismiss out of hand?

    6. Re:Initial Failures by Schnoogs · · Score: 0

      Why is this modded insightful? People aren't going to abandon existing C/C++ code bases for python.

    7. Re:Initial Failures by shutdown+-p+now · · Score: 1

      Also, what the hell do you call this bracket style

      You call it a "typo". It's fairly clear from all other samples in the PDF that they use the conventional ANSI-style braces indenting, which is the common convention for C#.

      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.

      The beauty of Axum is not in channels per se, it's about having high-level combinators for those channels, such as the ability to easily pipeline them (and insert functions in the middle, that are "streamified" automatically). Yes, of course you can do that in Python, and in any other Turing-complete programming language, for that matter. You can also write object-oriented code in C or even assembler; however, the fact that you're able to do so doesn't mean that it's a good idea. Some abstractions are important enough to deserve being lifted to the language itself. Actor model, which is what Axum is about, is one such thing, and languages where actors are first-class have been around for a very long time - indeed, Simula 67 (the number stands for the year when it was standardized...) was probably the first language which had specific language features for message passing and actors. Not coincidentally, Simula was also the very first recognizably object-oriented programming language, so don't be so snub about Python supporting "... these crazy things called CLASSES".

    8. Re:Initial Failures by Anonymous Coward · · Score: 0

      No channels are a paradigm from the origianl CSP (Communication Sequential Processes) calculi. LOTOS (Language Of Temporal Ordering Specification) on the other hand calls these 'gates'.

      Phython by it's nature can never be truly concurrent.

  16. Naming vs architecture by xouumalperxe · · Score: 3, Funny

    previously known as Maestro and based on the actor model

    Somebody has their performance arts mixed up

  17. Queue a new internet Want ad by Like2Byte · · Score: 5, Insightful

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

    You *know* it's going to happen.

    1. Re:Queue a new internet Want ad by Sancho · · Score: 1

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

    2. Re:Queue a new internet Want ad by x2A · · Score: 0

      Am I missing something? Cuz if it said:

      Wanted: Senior Software Engineer
      Requirements:
      2 years commercial experience milking cattle,
      Experience of at least 2 space walks,
      At least 1 Formula 1 Grand Prix World Championship win,
      6 toes on at least one foot.

      I don't think they'ld get the right applicants.

      --
      The revolution will not be televised... but it will have a page on Wikipedia
    3. Re:Queue a new internet Want ad by Anonymous Coward · · Score: 0

      So in other words...

      Cue a queue of cueless people?

    4. Re:Queue a new internet Want ad by Anonymous Coward · · Score: 0

      Oh, the humanity!

    5. Re:Queue a new internet Want ad by Anonymous Coward · · Score: 0

      I have 5 years of experience developing in Axum and a Master's degree in Axum Studies from the Royal University of Nigeria.
      Will I get a job now?

    6. Re:Queue a new internet Want ad by FooRat · · Score: 1

      Yes, you're missing the fact that Axum is too new for anyone to have 5 years experience developing on it.

      I remember seeing ads just like that when Java had just come out.

    7. Re:Queue a new internet Want ad by Anonymous Coward · · Score: 0

      Queue a new internet Want ad

      Is it going to sit in a... message queue? ;)

  18. The good points of a concurrent language by Tetsujin · · Score: 4, Insightful

    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.

    --
    Bow-ties are cool.
    1. Re:The good points of a concurrent language by OolimPhon · · Score: 1

      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.

    2. Re:The good points of a concurrent language by digitalunity · · Score: 1

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

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

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    3. Re:The good points of a concurrent language by Tetsujin · · Score: 1

      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.

      I couldn't really say... Though I expect that it's entirely possible to write a module in .NET that would be thread-safe over multiple invocations, just as it'd be possible to do the same in C.

      The nice thing about Axum's relationship with .NET is that it (presumably) makes it rather easy to write your working code in a language you're comfortable with, and then write the parallelization logic in Axum. This, to me, is pretty important. If languages are specialized to different kinds of tasks, then you also want to choose the right language for a given job - and one language may not be the correct choice for an entire project. There is certainly code you wouldn't want to write using actors and a message passing interface, for instance. To me, that model of concurrent programming is better used at a higher level of the program. By taking advantage of .NET to link Axum to other .NET languages they give you the ability to use different languages for their strengths - optimize your "unit" code using a language like C# and then run it in parallel with Axum.

      There are things I don't like about .NET and as a rule I'm not too comfortable with the idea of Mono becoming a core component of my Linux systems - but this is one piece of functionality that .NET provides - the provision of a common VM for use by scripting languages and compiled languages, the ability to freely link code between different languages built on that VM - that does make me rather jealous.

      --
      Bow-ties are cool.
    4. Re:The good points of a concurrent language by RightSaidFred99 · · Score: 1

      Your understanding is...flawed to put it nicely.

    5. Re:The good points of a concurrent language by Tetsujin · · Score: 2, Informative

      Your understanding is...flawed to put it nicely.

      Feel free to provide more detail. Bear in mind there are people here who may not know all the details about .NET - and may not love it, either - but who would still be interested in learning more about it.

      --
      Bow-ties are cool.
    6. Re:The good points of a concurrent language by shutdown+-p+now · · Score: 2, Interesting

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

      Most functions in the .NET libraries are perfectly reentrant in the classic definition, if you consider the implicit receiver argument ('this') a proper argument. Most non-static functions in .NET classes are not thread-safe in a sense that two threads cannot call the same function on the same object concurrently (or, more often, any two functions on the same object concurrently) - this is generally the same as what you can see in Java or C++. I don't see this as a problem, since it's unlikely that you'll want to, say, concurrently draw several thousand buttons on a window and handle their input events, or concurrently write to the same file from several threads using a single handle. Even in a concurrent application, most often you'll use .NET objects in isolation of a single thread, to perform whatever task it needs to perform.

      Can you identify specific scenarios where limitations of .NET class libraries with respect to concurrency block or hinder some specific concurrency scenario?

      When it comes to your own .NET classes, they are, of course, as concurrent as you make them to be. If you code them in F#, you'll be dealing with immutable data structures by default (F# lists and maps are immutable, as is traditional in functional languages, even though they implement all the standard System.Collections.Generic interfaces such as IList and IDictionary for interop), and your own structures and classes will also be immutable by default - F# requires any mutable variables and fields to be explicitly declared using the "mutable" modifier.

      Looking into the future, .NET 4.0, which will include a bunch of stuff specifically for parallel & concurrent computations, also comes with several new collection classes that are specifically designed for concurrent use, such as ConcurrentQueue and ConcurrentStack.

  19. Fun? by Celeste+R · · Score: 1

    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.

    --
    There are no perfect answers, only the right questions. More questions at http://foresightandhindsight.blogspot.com/
  20. MPI much? by aws4y · · Score: 1

    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.

    --
    Did Glenn Beck rape and kill a girl in 1990? gb1990.com
  21. Was C# Not Enough? by CodeBuster · · Score: 3, Insightful

    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), 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)?

    1. Re:Was C# Not Enough? by Bill,+Shooter+of+Bul · · Score: 3, Informative

      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.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    2. Re:Was C# Not Enough? by Orii · · Score: 1

      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.

    3. Re:Was C# Not Enough? by Anonymous Coward · · Score: 0

      No, the artifacts you mention are *primitives*. Microsoft actually offers much more than primitives, native support for async calls on delegates is just one example, PLINQ and all the goodies it comes with is another. Sometimes you need nuts and bolts and sometimes you need high-level abstractions. This is about a totally different programming paradigm and there's a demand for it.

      ET.

    4. Re:Was C# Not Enough? by Anonymous Coward · · Score: 0

      Mutexes, semaphores and locks are LOW LEVEL controls. You can expect a few geeks to use them but good luck getting hordes of VB6,ex VB6 developers and other individuals who can barely write two nested loops to use them and use them properly. The software development world desperately needs HIGH LEVEL concurrency controls. There just way to much software that needs to be developed at rock bottom cost.

      So in the essence they don't want another threading framework. The ones that exist do a good enough job and a new ones would not solve the main problem. The language analogy would be that they want to replace Assembler with something like a Fortran and the most revolutionary new threading framework would be like adding ability to do macros.

      As an example see Task Parallel Library in .NET 4.0. A very nice library but for the masses you would still rather have something as simple as PLINQ.

    5. Re:Was C# Not Enough? by CodeBuster · · Score: 1

      Why do we need a whole separate language to do this? If additional abstractions are required or desirable then why can they not be added to the Framework class library or, if new language features are required (again, what is needed that isn't already in C#?), added to the C# language (as LINQ was for example) if necessary? It always seems to me that new languages attempt to solve a "problem" that could be better solved by adding to or improving an existing programming language rather than inventing a new one just to solve a specialized problem area. IMHO, the burden of proof should lie with the new language to justify why the problem is so different or unique that it cannot be adequately addressed in any other way except by creation of a entirely new programming language. For example, the C# and Java programming languages brought a lot of new things to the table vs C++ and previous general purpose languages. They justified their newness and became worthy successors to their predecessors, but I don't think that problems of concurrency and threading rise to the level of requiring a whole new language just to provide a clever solution.

    6. Re:Was C# Not Enough? by Anonymous Coward · · Score: 0

      The Threading in .NET currently is single process (and as such, single processor). There are also extensions to System.Threading coming out in 4.0 that do exactly what you are talking about though.

    7. Re:Was C# Not Enough? by Anonymous Coward · · Score: 0

      You never know, you could see Axum style features being added to C# in the future.

      But there's nothing wrong with having a new language for a new domain. Sometimes it really is better to say what you mean in a concise way.

    8. Re:Was C# Not Enough? by Anonymous Coward · · Score: 0

      Axum (and other languages) are a higher-level approach to the problem. Yes, it's built on top of those foundational concepts. But using the low-level thread constructs directly in a complex multithreaded program is like programming everything in assembly language. It's all Turing-equivalent, but it's often helpful to have a language that provides abstraction at the level of the problem that you're trying to solve.

    9. Re:Was C# Not Enough? by zuperduperman · · Score: 2, Insightful

      It's not about threading - all the features you describe relate to dealing with concurrency in a small scale. New concurrent languages are targeted at algorithms that use concurrency as a fundamental building block - a language construct, if you like - which let you use completely different algorithms to what you would use otherwise.

      Totally contrived example: imagine you want to count the number of upper case characters in a large string. You could zip through it in a loop in a single thread. But that would only use a single CPU on a single node. Instead, break it into a thousand parts and create concurrent jobs to compute the number of upper case characters in each one, then sum them all together at the end. Doing that would take some serious thought to do correctly using threads, and it would be very inefficient. These new concurrent languages are built with primitives that allow you to do this kind of thing quickly and safely and in a scalable way to boot.

    10. Re:Was C# Not Enough? by Ciaran+Power · · Score: 1

      Totally contrived example: imagine you want to count the number of upper case characters in a large string. You could zip through it in a loop in a single thread. But that would only use a single CPU on a single node. Instead, break it into a thousand parts and create concurrent jobs to compute the number of upper case characters in each one, then sum them all together at the end. Doing that would take some serious thought to do correctly using threads, and it would be very inefficient. These new concurrent languages are built with primitives that allow you to do this kind of thing quickly and safely and in a scalable way to boot.

      Not a great example for a single machine. Easy to do something like that with pthreads/windows threads/fork/whatever (fork a zillion threads for your string, pass them the string pointer, their start and their end. Each calculates its sum for its portion of the string, write that value to memory (sum[i]). Parent waits for all threads to finish, then adds the sums). What does Axum add? Maybe if it makes network concurrency easier then it's useful, but I'm sure there are APIs for that?

      Note: I haven't done a massive amount of parallel computing.

  22. It seems like data cutter to me by godrik · · Score: 1

    link : http://www.cs.umd.edu/projects/hpsl/ResearchAreas/DataCutter.htm
    except data cutter does not rely on .NET...

  23. Not "Insightful", "Clueless" by SuperKendall · · Score: 4, Informative

    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.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Not "Insightful", "Clueless" by Burkin · · Score: 4, Interesting

      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.

    2. Re:Not "Insightful", "Clueless" by Sancho · · Score: 1

      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.

      Doesn't "embrace and extend" usually mean that Microsoft keeps the technology name? That's the big complaint that a lot of people have with them--they use a protocol with their own proprietary extensions which makes interoperability (the point of having protocols) difficult.

    3. Re:Not "Insightful", "Clueless" by SuperKendall · · Score: 1

      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.

      But they have not really "extended" these so much as (at least at first) provided more reduced functionality (once true of managed C++ though I no longer believe it is) - which is the opposite of "extend".

      What language features have they added on to Iron Python that does not exist in real python?

      The real issue of course with languages added on to C# is "embrace and EXTINGUISH", in that the overall goal is to move people from other languages into C#. But that's not a complaint against them adding other languages per-se, more a fundamental aspect of framework support for other languages.

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

      Bullshit. People generally whine when Microsoft does something abhorrent; it's simply the case the occurrence is high. There are enough things for people to whine about with Microsoft that they don't need to bother complaining about Microsoft supporting languages in its development tools.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
  24. thankfully... by AlgorithMan · · Score: 1
    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...

    --
    The MAFIAA is a bunch of mindless jerks who will be the first up against the wall when the revolution comes
    1. Re:thankfully... by zokier · · Score: 1

      It does NOT NEED to have any OO stuff because they already have solid OO-language on .NET: C#. Why try to make one jack of all trades, master of none, when you could have masters of all trades working together? Thats exactly the point of having multiple languages on .NET.

    2. Re:thankfully... by DragonWriter · · Score: 1

      It does NOT NEED to have any OO stuff because they already have solid OO-language on .NET: C#.

      Sure, but why would I want to code class definitions in one language and system behavior in another, if I wanted to use class-based OO at all?

  25. That's fantastic, but by O+Blimey · · Score: 1

    can it do Concurrent BSOD?

    1. Re:That's fantastic, but by Anonymous Coward · · Score: 0

      Yo dawg, we herd u liek blue screens, so we put a cpu in your cpu so u can crash while you crash.

    2. Re:That's fantastic, but by ChunderDownunder · · Score: 1

      Yes, it's multi-monitor aware. It outputs a different shade of blue for each screen.

  26. Concurrency isn't just for parallelism. by Estanislao+Mart�nez · · Score: 3, Insightful

    You're making the mistake that concurrency is the same thing as parallelism. It is not. Concurrency is when a program is written in such a way that the order of execution of tasks is highly underspecified; parallelism is the use of multiple execution units to execute concurrent code.

    Concurrency isn't just for performance; concurrency is just as much for writing software that can do many things at once. For example, one needs concurrency to have client applications that respond to the user with very low latency while doing some other work in the background. In this case, in fact, the software isn't trying to perform its heavy computations in the absolute minimum time; it's OK to slow down the heavy computation somewhat in order to reduce user interface latency. Have you ever used one of those applications where the whole UI hangs (e.g., won't even draw) while the application does some action, like connecting to a server? That's a failure to provide concurrency.

    Contrary to common wisom, the introduction of multicore processors didn't increase our need for good tools for concurrent programming, because we've needed such tools since way before for user interaction. The tools that conventional languages provide for threading and synchronization are too hard to use, leading programmers to introduce far less concurrency into the software than they otherwise could. Also, conventional threads are much too heavyweight for an application to create thousands of them.

    1. Re:Concurrency isn't just for parallelism. by Tetsujin · · Score: 1

      Interesting points. Thank you for enlightening me. :)

      --
      Bow-ties are cool.
  27. Microsoft Language by Anonymous Coward · · Score: 0

    Should I Use Axum?
    Yes! We are incubating Axum to solicit feedback from our customers and validate Axum's value propositions.

    I've noticed that Microsoft uses strange and usually rather appalling marketing expressions like no other company. Just out of curiosity, does anyone know why this is so?

    1. Re:Microsoft Language by ShadowRangerRIT · · Score: 1

      Virtually every field of specialization has its own jargon. Usually, the idea is to use a specific word for a narrow definition to speed communication and reduce the chance of misinterpretation. Beyond specialty jargon, every software company has some unique jargon, but unless you work there, you're unlikely to see it. Microsoft is just higher profile.

      Of course, sometimes the jargon goes wrong. You can see some appalling examples at Raymond Chen's blog. Just search for "Microspeak" posts.

      --
      $_ = "wftedskaebjgdpjgidbsmnjgcdwatb"; tr/a-z/oh, turtleneck Phrase Jar!/; print
  28. Resume follows: by Anonymous Coward · · Score: 0

    Vijay Ramthan

    10 years of developing and designing Axum software, etc...,etc....

    He'll get hired and his goddamn company will say, "We can't get any qualified American progammers so we HAVE to go to India."

    You know THAT will happen! I went through exactly that when Java first came out.

  29. Just add to C# by sproketboy · · Score: 1

    Why don't they just add this stuff to C# like they do with everything else? Keep C# as the kitchen sink language.

  30. NO. NOT NOW. NOT EVER. I'M COMING FOR ALL OF YOU! by Anonymous Coward · · Score: 0

    What will be worse, the actual Microsoft language, or the inevitable open source clone?

        Mac -> Windows -> KDE
        UCSD P-System -> JVM -> .NET CLR -> Mono

    "And since Windows just copied the Mac"(*), I think we've had enough of Microsoft for one lifetime. Instead of giving his plunder to the african Africans while the train wreck of a company left behind re-invents the wheel, he needs to be donating it into double-blind VC firms run by survivors of the areas of the industry he weakened the most.

    (*) - Steve Jobs, Stanford 2005

  31. I'm confused by Anonymous Coward · · Score: 0

    Microsoft Releases New .....

    Microsoft has not committed to shipping Axum since it is still in an incubation phase of development ...

    Well, is it released, (which implies shipping something), or not? Sounds more like a mail in rebate to me. When the process completes, maybe you'll have something, maybe you won't.

  32. Namesake? by Chardish · · Score: 1

    Is the language named after Axum, Ethiopia and its famous obelisks?

  33. Race conditions... by Anonymous Coward · · Score: 0

    Well race conditions happen when no one thread owns the resource. When one thread owns a resource and messages are queued to it, no race condition.

  34. There are only 2 kinds of concurrency by Baldrson · · Score: 1
    There is AND concurrency where multiple independent evaluations must successfully complete for join evaluation to complete. This is otherwise known as functional programming which degenerates into procedural programming by making the environment a parameter passed between functional blocks known as "statements".

    There is OR concurrency where multiple independent evaluations provide alternatives. This is otherwise known as relational programming. This subsumes not only the obvious relational databases, but also exception handling.

    There are no others.

    1. Re:There are only 2 kinds of concurrency by rycamor · · Score: 1

      Relational programming sounds interesting. Do you have any links or examples?

    2. Re:There are only 2 kinds of concurrency by Baldrson · · Score: 1
    3. Re:There are only 2 kinds of concurrency by rycamor · · Score: 1

      Thanks!

  35. nothing new under sun except re-inventing wheels by micromuncher · · Score: 1

    I'm surprised after reading the spec and blog that a bunch of this seems to be re-inventing Objective-C and bits of concurrent object oriented C. http://portal.acm.org/citation.cfm?id=157352.157356

    Not only that, but extensions to a language don't really foster supporting a new paradigm. http://www.codinghorror.com/blog/archives/000169.html

    --
    /\/\icro/\/\uncher
  36. Incubation phase... by Anonymous Coward · · Score: 0

    incubation phase? you mean like virii :P

  37. message passing library by Anonymous Coward · · Score: 0

    what i don't get about "concurrent" programming languages is this: why do we need a new language to implement a message-passing library?

  38. Re:How can we know when it will be ready? by CarpetShark · · Score: 1

    It'll be ready when it's ready.

    In other words, when the samba guys wrest the specifications from microsoft, figure out what's broken with it, and reimplement it all properly.

  39. Where are the tutorials?! by sys.stdout.write · · Score: 1

    I have been searching for a simple code example, but haven't been able to find one that doesn't involve me having to install f***ing Silverlight. Anyone having better luck?

  40. Re:How can we know when it will be ready? by fractoid · · Score: 1

    Axum!

    I guess it was quicker to type than "Fireumall".

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  41. Borg by Bambi+Dee · · Score: 1

    The Borg icon actually fits: Axum, aka Five of Twelve.

  42. No point in it. by Hurricane78 · · Score: 1

    We already have Haskell, OCaml, Erlang and tons of other well-hung languages, who can do this, and already have the good stuff in it (meaning libraries like OpenGL, and/or support for embedded devices).

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
  43. Re:How can we know when it will be ready? by Chrisq · · Score: 1

    How can we know when it will be ready?

    Its concurrent. Start using it now, you don't need to wait until its ready. Anything unavailable will simply block until its released.

  44. No by SuperKendall · · Score: 1

    Doesn't "embrace and extend" usually mean that Microsoft keeps the technology name?

    No - or at least that's irrelevant to the complaint.

    The problem people have with Microsoft regarding "Embrace And Extend" is that they take a technology, add some feature(s) on, and that becomes the de-facto standard - that now requires Microsoft patent licensing to comply with fully. The name has much less to do with things than does Microsoft strangling out all other versions.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  45. Achew! by Anonymous Coward · · Score: 0

    Axum? Hey that's was the best name M$ could find during the days of the swine..sorry "new" flu???

    Cough...cough...

  46. Incubating sounds pretty sinister to me by Anonymous Coward · · Score: 0

    Am I the only one that thought of the giant warrior beast from Nausicaa when I read "We are incubating AXOM. It will steal your life and rape your OS, get used to it early!" (That last part is kinda like the M$-press-release version of "in-bed" for fortune cookies)

  47. Your missing the point by ClosedSource · · Score: 1

    You don't try to retain workers out of consideration for them, you do it for the good of your company.

    Hiring people is very expensive, so terminating someone should be vetted as carefully as hiring them. Without a good policy in place, a bad manager can run amok in a company.

  48. But the important question is... by Anonymous Coward · · Score: 0

    Do the developers have beards?