Slashdot Mirror


Microsoft Releases A New Monad Command Shell Beta

Watercooler Warrior writes "Slashdot originally broke the news that a new Microsoft command shell was in the works when a reader noticed a suspicious job posting by Microsoft India. Today Microsoft released the first really usable version of the shell (codenamed Monad) to beta testers - and anyone who carefully reads the WinHEC slides about Monad will find how to join the beta and get a peek at it. The shell looks like a bunch of old-school Unix and Perl hackers were given free rein to do what they wanted with the .NET framework, and from what is known about the backgrounds of the Monad developers this is probably pretty close to the truth."

126 comments

  1. Google by kajoob · · Score: 5, Funny

    Google has a new command shell coming out as well; the name? Gonad.

    --
    Quidquid latine dictum sit, altum viditur
    1. Re:Google by Anonymous Coward · · Score: 0

      This is why we need a "not funny / predictable" moderation.

    2. Re:Google by Tumbleweed · · Score: 4, Funny

      I can't believe you had the balls to tell such a horrible joke.

    3. Re:Google by Anonymous Coward · · Score: 0
      And a humorless git moderation, for people like you with nothing to say except to snipe at a joke that's over your head

      ~~~

    4. Re:Google by bluephone · · Score: 5, Funny

      His only defense is that he's nuts.

      --
      jX [ Make everything as simple as possible, but no simpler. - Einstein ]
    5. Re:Google by agentk · · Score: 1

      No, "Gonad" will be the Linux/GNU clone.

      --

      VOS/Interreality project: www.interreality.org

    6. Re:Google by mbadolato · · Score: 1

      No, that would be GNUnad

    7. Re:Google by jo42 · · Score: 1

      ...and KDE will, finally, ship the KDE User Network Tool...

    8. Re:Google by smittyoneeach · · Score: 1

      Not just brass balls; titanium testicles...

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    9. Re:Google by Trolling4Dollars · · Score: 1

      No. Considering how little love MS has for GNU, it would have to be No-nad. Also refers to Bill Gates' state as well as Adolph hitler who was missing a testicle. In fact I suppose you could say Hitler was a case of a monad gonad.

    10. Re:Google by kLaNk · · Score: 1

      Lack of sleep too, the twins are keeping him up at night.

    11. Re:Google by Anonymous Coward · · Score: 0

      I didn't even read what he scrote.

  2. Cool by Anonymous Coward · · Score: 0, Funny

    I am seriously considering getting rid of Gentoo, formatting the drive clean with the data backed up, and go buy a copy of Windows XP at my Costco for $75 just to give it a try.

  3. It's about time by JPyObjC+Dude · · Score: 3, Interesting

    Because I unfortunately have to hack on a windoze box, I would love to see an improved command shell.

    The current command shell just plain sucks when compared to OSX's or KDE's shells.

    I can't wait to install.

    truth={ moz: "sweet" }

    1. Re:It's about time by wcbarksdale · · Score: 1

      What? Why not just use bash under cygwin?

    2. Re:It's about time by MBCook · · Score: 4, Insightful
      Both of those are BASH (OSX used to use csh or maybe tsh but they switched it). Personally I LOVE BASH. After messing with Linux for a few years, the Windows shell drives me nuts. It's just so primitive feeling.

      This is one of those situations where I think MS is doing a serious NIH (Not Invented Here) for no good reason. I can understand the reason to make Direct X instead of use OpenGL (for controll) and other such decisions. But I don't think having their own shell (instead of an implementaion of BASH) does them any good. I don't think it helps them sell more software. I don't think it helps them controll the market more. They should have taken BASH, and extended it with their .NET stuff.

      I can use BASH on Linux, BSD, BeOS, OSX, and many many others. Why should I have to learn a new shell for Windows? Why can't they just accept it for once. It doens't cost them anything. If anything it would make porting apps over to Windows from other platforms EASIER.

      At least make it so I can replace my shell easily (like you can change your default shell on other platforms)? That would be enough for me.

      It's not exactly MS's fault that their current shell isn't very good. They've been going pure GUI and trying to keep people there. They've said DOS is dead and no one should ever have to use a CLI. So they've had no reason (based on that) to improve the shell since it's last incarnation, DOS 6.22. Of course now they are making a new CLI and making a big deal over it. Everything old is new again, eh?

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    3. Re:It's about time by tooth · · Score: 1

      All i want in a windows shell is crtl-ins to copy and shift-ins to paste. It's a pain to grab the mouse, right click on the title bar -> edit -> paste where as putty (nearly every app) handles those key combos fine. I couldn't believe that these basic commands were still missing from cmd when work upgraded me to an XP box.

    4. Re:It's about time by JPyObjC+Dude · · Score: 1

      Why not just use bash under cygwin?

      I do, but as most would agree the current command prompt UI totally sucks. I'm hoping that this new distrib will include a better UI.

      I have no interest in any M$ languages except to have some M$ winAPI extensions that I can shell from my python or bash scripts running in cygwin.

    5. Re:It's about time by Anonymous Coward · · Score: 1, Informative

      title bar -> properties -> Quick edit mode.

      Select + Enter = copy
      Right Click = paste

    6. Re:It's about time by Anonymous Coward · · Score: 0

      Or, select then right click to copy, right click to paste.

      Also worth mentioning, F7 gives a popup of the previous 10 commands.

    7. Re:It's about time by Surye · · Score: 1

      Say it with me.. G...P...L...

    8. Re:It's about time by yasth · · Score: 1

      If you glance at the presentation when they are doing the schematic they are showing how everythng fits together and they have an "Other Hosts" block on the same level as Monad. So maybe you will see something, though most likely it will be sort of half supported and not very popular (sort of like the ability to plug other scripting languages into WSH.)

      --
      I'd do something interesting, but my server can't handle a slashdotting.
    9. Re:It's about time by rsax · · Score: 1
      All i want in a windows shell is crtl-ins to copy and shift-ins to paste. It's a pain to grab the mouse, right click on the title bar -> edit -> paste

      Well there is no ctrl-ins or shift-ins but there is a better way to copy & paste using the mouse. Select text using the left mouse button, right click to stop selecting & copy the text into the buffer and then finally right click to paste.

    10. Re:It's about time by UnknownSoldier · · Score: 1

      Have you tried 4NT

      Page-up/down for directory history is worth it alone.

      --
      Tobacco represents a huge tax base for the government. The government is as addicted to the revenue from smokers as the smokers are to the cigarettes.
      - WetKarma (plastic.com)

    11. Re:It's about time by bastardsquadmuzz · · Score: 0, Troll

      Of course, as soon as they released "Bash for Windows" half the Slashdot community would throw up their arms in disgust, accuse MS of stealing software without giving anything back and declare they open up the source code to the entire Windows codebase under the GPL. Then when they realise no-one's listening they'll get back to playing Half Life on their mum's Windows machine.

      --
      --Muzz
    12. Re:It's about time by barrkel · · Score: 1

      Cygwin with bash on rxvt works very sweetly on WinXP.

    13. Re:It's about time by Anonymous Coward · · Score: 0

      can also paste on command shells with :

      alt+space e p

      find myself using that a lot for some reason

    14. Re:It's about time by dfj225 · · Score: 1

      "Everything old is new again, eh?"

      You betcha! Just look at Apple and OSX. I can't really claim this idea as my own (I think someone talked about it in MacWorld), but it is true. The author said how the older Mac OS didn't even have a command line. The big feature of the Mac was that you didn't need commands and could use a menu driven interface. Now one of the big selling points of OS X (for me anyway) is that it has a UNIX base and I can use all the *nix commands and apps that are pretty standard for developers.

      --
      SIGFAULT
    15. Re:It's about time by Anonymous Coward · · Score: 0

      > Why can't they just accept it for once.

      Yeah, why did those dumb unix folks have to add dumb stuff like job control. What's wrong with JCL?

      Tell you what: I'll listen to your complaints when you've actually tried the shell, mmkay?

    16. Re:It's about time by jonadab · · Score: 2, Insightful

      > I would love to see an improved command shell.

      So would all geeks who use Windows. WinFS gets a lot of hype, but it is Monad
      that will drive the next batch of upgrades for Microsoft, especially in server
      space. A good command shell is a killer feature.

      I remember an online poll in about 1999 or 2000, asking what effect Linux would
      have on Microsoft. "Force them to change radically" was the option I voted
      for. Monad is the sort of thing I meant. A good command shell is one of the
      strengths of most POSIX systems; formerly Microsoft could argue it wasn't worth
      the licensing costs of a commercial Unix just to get a command line that only
      geeks would use, but now you see them arguing instead, "We're going to have
      that too." And they will. And lo, it will be a major improvement.

      And they already moved from the 95/98/Me line to the NT line -- at least
      partly because the free unices have good solid memory protection, and "it
      crashes all the time" was a criticism they couldn't get around with 95/98.

      They're also going to have to ship a decent text editor. They're the only
      major OS left that doesn't ship with both vi and Emacs. I don't think they'll
      ever ship those per se (though of course both are available for Windows --
      but so is bash for that matter), but they're going to have to come up with
      something that blows the everliving socks off of Notepad, mark my words.

      Microsoft will tell you that open source doesn't innovate much; it mostly
      copies. And that's got some truth in it. But open source is not alone in
      that. Everyone copies the competition's good features. It's the same reason
      all fast food restaurants today have kids' meals with toys and a drive-through
      window. One chain introduced it, and it was a killer feature, and so everyone
      has to have it now.

      Competition is what makes us stretch, and do things we didn't want to bother
      doing otherwise.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    17. Re:It's about time by Anonymous Coward · · Score: 0

      I would mod you up if I had ever thought it was worth getting an account here. You should have mentioned something about how he said MS should embrace bash and extend it. Guess what idiot community would be pissed about that.. This just goes to show that whatever MS does is wrong (in the minds of stupid slashdot users (ie all of them (slashdot is stupid (why do i keep coming here (i swore i'd stop)))))

    18. Re:It's about time by sw155kn1f3 · · Score: 1

      It's not like conventional shell. Monad is engineered to transfer/transform not just text data, but .NET objects. For instance monadgrep text test.xml | monadcat > new.xml (just an idea).
      So it's quite different.
      I didn't actually try it, because I don't want to sign up for beta etc, but when it's out, I'll definitely give it a shot.

      --
      - Arwen, I'm your father, Agent Smith.
      - Well, you're just Smith, but my father is Aerosmith!
    19. Re:It's about time by 0racle · · Score: 1

      While I can see where this would be handy, I would personally prefer a decent SNMP server in Windows. Take what you can get I guess.

      --
      "I use a Mac because I'm just better than you are."
    20. Re:It's about time by tooth · · Score: 1

      Cool, thanks, never knew about the right click thing! :)

    21. Re:It's about time by TomV · · Score: 1
      Well, unfortunately then, the current MSH preview (drop 3) still uses the exact same cut-copy-paste model as the existing cmd.exe. So it's mark, copy, paste with right-click or the control box, or Quick Edit mode from the Properties dialog as before.

      OTOH, stuff like
      MSH>foreach ($name in get-childitem | sort-object ){if( $name -like "*.xml"){write-host $name}}
      has the potential to be a lot more versatile than clunky old DOS shell commands, even if this particular example is basically just another way of saying
      dir *.xml
      .
  4. Great! by sheapshearer · · Score: 0

    Now Virus Writers can make full use of the .NET interface without even needing a compiler!

    What is the new extension going to be? Just think how many people are going to open these files from email attachments!

  5. Re:Monad == ?? by Anonymous Coward · · Score: 1, Interesting
    I work at MS and that's how my manager introduced it to me.

    "It's Monad. Like Gonad, with an M."

    There was a talk about this at the PDC, too. Amazingly cool stuff.

    It's more than just a new command shell. It's a new framework for creating command- or script-driven software compoents. It makes it easy to little apps that can parse parameters and return structured data (not just text).

    Here's an example from the slides:
    get-process | where "handlecount -gt 400" | sort handlecount
  6. Re:Monad == ?? by Anonymous Coward · · Score: 0
  7. Re:Monad == ?? by Kumkwat · · Score: 5, Informative



    First thing I thought when I saw Monad was its definition from category theory. A Monad is a triple, containing a functor, and 2 natural homomorphisms.

    Less cryptic, is its use in Haskell as way of parameterizing computations. Specifically its used to produce the I/O Monad which is parameterized by some type A in the pair IO : a -> world -> (a, world).

    More in line with ur question, the word Monad comes from greek , and it means "one" "single " or "unique". So I guess they think this is a "unique" bit of work.

  8. I've been using an older version.... by Prien715 · · Score: 4, Interesting

    And I can't say I'm that impressed yet. I'd like to see man pages or something actually implemented. man currently does stuff but man doesn't work for any command I've tried (thus there don't seem to be *any* options). There's a lot of aliases built-in to emulate Unix (e.g. ls, ps) but the lack of grep makes piping seem...well pointless. The actual versions of commands seem entirely too object oriented and thus too verbose. "get-directory" is not something I want to type (I can't remember off the top of my head, but some of them are really absurd). "ps" is ps for a reason. No frequently used command should be more than 4 letters, or require you to use aliases so you don't end up writing a novel.

    Your milaage may vary. I don't care about a scripting language. I have Perl (for Win32). As far as an interactive shell, it still has a lot of rough edges. Personally, I'd rather just use Cygwin/Bash and get a real shell.

    (Though I talked to one of the guys personally and he seems pretty cool.)

    --
    -- Political fascism requires a Fuhrer.
    1. Re:I've been using an older version.... by bersl2 · · Score: 4, Insightful

      The actual versions of commands seem entirely too object oriented and thus too verbose.

      I can't imagine anybody who has ever used a CLI object-orienting it. Did some marketing drone get a say in the design.

      The command line is more likely to be used for quick-and-dirty jobs, but the language involved (Bourne, C shell, etc...) can scale up to a larger, more maintainable project. The same can't be said about most object-oriented languages in the downward direction. Of course, maybe I just haven't seen the right ones.

    2. Re:I've been using an older version.... by astroboscope · · Score: 2, Insightful
      LISP and Perl can handle both paradigms. Python and Ruby try (and succeed as well as possible, I guess), to bring OOP to scripting. They certainly have their fans.

      If the right objects are already made and easy to use, then OOP is great for programming. If you have to worry about designing an object hierarchy when what you really want is a result, then it's a chore.

      --
      If we were ants living on a Rubik's cube, differential geometry would be a little more confusing.
    3. Re:I've been using an older version.... by tunah · · Score: 1

      Ruby might be nice enough, not quite as terse as shell though. Not just the perlish bits: Iterators would probably work quite well in a shell language.

      --
      Free Java games for your phone: Tontie, Sokoban
    4. Re:I've been using an older version.... by AndyElf · · Score: 1

      I would tend to agree with you, at least for short scripting -- since I really tend to think more in terms of short, not necessarily reusable orders given to the shell. Objects & classes seem to be a bit of an overload...

      --

      --AP
    5. Re:I've been using an older version.... by TomV · · Score: 1
      In drop 3, man appears to be set up as an alias to get-help, just as ls is an alias to get-childitem.

      So if you do man ls, or get-help ls, or man get-childitem, or get-help get-childitem, you now get a reasonably detailed result of which the following (cut down to keep the lameness filter happy) is a rough synopsis
      MSH>man ls

      NAME
      get-childitem

      SYNOPSIS
      {snipped for lameness filter}

      SHORT DESCRIPTION

      Retrieves the child items of the specified location(s) in a drive.
      When -Relationship is specified, retrieves the available targets for the relationship.

      DETAILED DESCRIPTION
      {heavily butchered for lameness filter}
      Parameters:

      -Path pathname
      -Include includeFilter
      -Exclude excludeFilter
      -Filter filter
      -Names
      -Recurse
      -Relationship
      -Property

      NOTES
      The current implemenation does not allow seperate filters for items and containers.

      EXAMPLES
      $ gch . * -exclude [a-e]*,*.dll -recurse -name
      Find all the names underneath the current location that don't start with the
      letters "a" through "e" or end with ".dll"

      {more examples culled for lameness filter}

      PROVIDER SPECIFIC

      DYNAMIC PROPERTIES

      MSH>
  9. Not bad... by zulux · · Score: 2, Funny


    The way it handles pipes is good - but FOR THE LOVE OF ALL THAT IS HOLLY! GET. RID. OF. THE. PAPERCLIP!

    (it looks like your writing a shell script)

    --

    Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.

    1. Re:Not bad... by Kris_J · · Score: 1
      @!#?@!

      You're

    2. Re:Not bad... by NanoGator · · Score: 1

      "@!#?@!

      You're"


      Well it's a good thing you came along and corrected his mistake. His post didn't originally make any sense!

      --
      "Derp de derp."
  10. This begs the question... by arkham6 · · Score: 3, Funny

    ...what the HELL were old school hackers doing working for microsoft in the first place. ;)

    1. Re:This begs the question... by MarkKnopfler · · Score: 2, Insightful

      Well I can answer that for one. Old school hackers need the steak and the beer on the table too and microsoft pays pretty well. I guess would be thankful if some of the old school hackers got into microsoft and did something about their software.

    2. Re:This begs the question... by Anonymous Coward · · Score: 0

      I hope none of those "old school hackers" have ever laid eyes on source code to GPL'd software - Microsoft might be in trouble...

    3. Re:This begs the question... by Anonymous Coward · · Score: 0

      Actually, working for Microsoft doesn't pay that well. It's well below industry average at the moment. They do have a well-oiled recruitment process - they'll pay to have you moved, take care of the paperwork, and everything else that makes changing jobs painful.

      But then you end up moving to Redmond, buying an over-expensive house in suburbia, and wondering where all the hot chicks went (note: they went to a real city).

      But the job's pretty easy. It's like a government job - you don't have to think too hard, unless you feel like it. And it has good benefits. So as long as you don't really want money, you can live a cushy life playing XBox games during lunch.

      -softy

    4. Re:This begs the question... by moof1138 · · Score: 1

      What MS needs most is old school hackers fixing Windows to make it suck less in crucial areas that a fair number of admins care about. They know that a lot of folks think their command prompt utterly sucks. It makes me want to throw things every time I have to use their accursed shell.

      If they also implemented highly effective remote command line administration and took a few other pages from places where *NIX design makes life easy for admins I would also be very pleased. And those old school hackers would have my respect for fixing what was such an awful mess.

      --

      Hyperbole is the worst thing ever.
  11. Access for Monad Beta by Plake · · Score: 4, Informative

    Go to http://beta.microsoft.com, login with your passport account.

    The guest id is mshPDC.

    Go nuts. :)

    1. Re:Access for Monad Beta by babbage · · Score: 1
      Go to http://beta.microsoft.com, login with your passport account.

      ...and if that particular dusty corner of our souls hasn't been sold to the beast yet, and we don't have passport accounts, then... that's it? Can't sign in?

      Oh well, scratch that.

    2. Re:Access for Monad Beta by Firehawke · · Score: 1

      Then you go sign up for a hotmail account and use that. Hotmail accounts pass as passports, so you could just grab one email account specifically FOR the beta.

    3. Re:Access for Monad Beta by babbage · · Score: 1

      That doesn't get around the problem of not wanting to sign up for big brother's Passport account. Ever. And especially not for a crappy Hotmail account. If they can't provide this demo software without demanding an onerous registration in exchange, then the software just isn't worth it to me. And no, using fake information on the signup doesn't get around the problem either. It's not that Microsoft would then know exactly who I am -- or who I pretended to be -- but that they would now have one concrete way of tracking what I'm doing, no matter who I say I am. That's much worse than simply knowing my identity, as far as I'm concerned.

    4. Re:Access for Monad Beta by Firehawke · · Score: 1

      Tracking you? They could already do that via IP address or normal email address. If you're running XP, you don't *have* to associate a passport with your user account to use it.

    5. Re:Access for Monad Beta by babbage · · Score: 1, Interesting

      I've never given Microsoft my address, so I'm not sure how it would have ended up in their database. And yes they can track my IP, but only with a registration system like Passport can they say that any activity I make from home, work, and elsewhere is all coming from the same person. As for XP, well, that's just yet another reason that I'm glad to be using a Mac instead of Windows... :-)

    6. Re:Access for Monad Beta by damiam · · Score: 1

      So you have no problem with signing up for a /. account, but Passport is too "big-brother" for you? What exactly is the difference?

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
  12. hm i love names that rhyme.,. by josepha48 · · Score: 0, Troll

    .. with human body parts.. monad.. go---.. ;-0

    --

    Only 'flamers' flame!
    Does slashdot hate my posts?

    1. Re:hm i love names that rhyme.,. by phauxfinnish · · Score: 1

      Bulva?

    2. Re:hm i love names that rhyme.,. by bluephone · · Score: 1

      No no no, her name was Mulva.

      --
      jX [ Make everything as simple as possible, but no simpler. - Einstein ]
    3. Re:hm i love names that rhyme.,. by gowen · · Score: 1

      ... Dolores!

      --
      Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
  13. What's the Point? by max+born · · Score: 3, Insightful



    There's already a plethora of shells out there, -- korn, bash, csh, zsh, and way more. And combined with ultilies like find, sed, grep, awk and with the added availablity of languages like perl, python, 'c' and all the lexical mulitude of routines that go with, ... what problem is Microsoft proposing to sovle here?

    Microsoft should consider cooperating and improving what's already out there instead going it alone and reinventing the wheel. Unless, of course, all those old school Unix developers were really all wrong and now Microsoft's is taking the opportunity to show us how it's really done.

    1. Re:What's the Point? by alan_dershowitz · · Score: 2, Insightful

      You just named four different unix platform scripting languages, and then complained about _Microsoft_ reinventing the wheel.

      Anyway, what's the problem? It's not written in stone anywhere that thou shalt use the one true scripting method, and who knows if there's a better way unless people try different things? Even if it sucks we have Cygwin already, so people can use any Unix shell that makes them more productive.

  14. Flame Bait by Anonymous Coward · · Score: 1, Funny

    [sub] http://developers.slashdot.org/article.
    pl?sid=04/09/21/0153251&tid=201&tid=156&ti d=8
    [sub] sweet
    [sub] urrr, down with Microsoft
    [sub] =)
    [geek] cute (re /. link)
    [geek] so they're now inventing stuff that's been around how many
    decades?
    [sub] alphageek: wait, they're going to patent everything
    [sub] !!!!
    [geek] should be fun to watch
    [sub] yeap, recreate UNIX, patent it as they go, use said
    patents against Linux
    [sub] sounds like a business plan made in Redmond
    [sub] even better, claim it's New Technology(TM) and claim that
    UNIX/Linux is based off 40 year old technology
    [sub] 10 years should be how long it takes MS to bastardize
    UNIX/Linux

  15. Monad == Best_Name_Ever by contagious_d · · Score: 1

    Sounds too much like gonad.
    I absolutely refuse to believe for even a second that this was an accident. Maybe they are trying to make it such an obvious joke that it stops being funny after a few days. I hope they try this with more products, they could rename MS Office "Pen by Microsoft", or call the command prompt in the next windows release "Direct Input Command Keyin Like Engine". Also, anything named "Venus" would be cool.

    --
    - /home is where the food is.
    1. Re:Monad == Best_Name_Ever by spectral · · Score: 1

      I wonder how many people realized the two acronyms.. While I'm not sure what a dickle is, it's still funny ;)

    2. Re:Monad == Best_Name_Ever by Anonymous Coward · · Score: 0

      They can have a windows background called uranus and use This as the image

  16. Screenshots? by Anonymous Coward · · Score: 1, Funny
    I can't seem to find any.

    ~~~

  17. yes, I meant to put a question mark by bersl2 · · Score: 1

    That is most certainly not a statement of fact.

  18. Re:Monad == ?? by MarsDefenseMinister · · Score: 1

    I heard they considered Microsoft Menis and Microsoft Magina too.

    --
    No weapon in the arsenals of the world is so formidable as the will and moral courage of free men.-Ronald Reagan
  19. This is pretty clever by Earlybird · · Score: 5, Interesting
    Microsoft is doing something interesting and innovating. The Unix world could use this.

    Basically, Monad formalizes in .NET the pipe interface between shell programs. A pipe participant is just something that implements the appropriate "commandlet" interface: it receives some input, produces some output, maybe some errors.

    However, in the case of Monad the input and output can be anything, not just text. So in the example:

    • get-process | where "handlecount -gt 400" | sort handlecount | out-chart processname,handlecount
    The get-process command produces a sequence of processes; where filters it based on an attribute; sort sorts on an attribute, and out-chart produces a textual table of the filtered output.

    It's important that the input and output of these processes are structures (actually, objects, but I don't want to tickle anyone's prejudices about OOP). .NET knows at runtime about the attributes these structures can have, so you can write apps that manipulate a wide variety of object types: files, metadata-annotated documents, log entries, whatever.

    Naturally input/output can be pure text, allowing all the traditional Unix commands such as grep.

    Immediate benefit? If you have the right translator, there's no need to munge text output using awkward tools like tr, cut, awk and so on, just to get at the process ID column of ps or the URL column of the Apache log file.

    This is better than Unix shells.

    1. Re:This is pretty clever by curious.corn · · Score: 1

      Right, anyone care to build an XSTL processor into Bash (or zsh)... it's already quite bloated according to some people ;-)

      --
      Mi domando chi à il mandante di tutte le cazzate che faccio - Altan
    2. Re:This is pretty clever by Anonymous Coward · · Score: 0
      anyone care to build an XSTL processor into Bash (or zsh)... it's already quite bloated according to some people ;-)

      Yep, even the Bash developers admit it. This is in the man page:
      BUGS
      It's too big and too slow.
    3. Re:This is pretty clever by popeyethesailor · · Score: 1

      I actually feel its kinda complementary to the Unix shell environment. This looks more like VBA on steroids, the .NETized version probably. Passing around structures has been done in MS world for a long-time - excel sheet processing, macro viruses etc.

      I think similar results can be achieved using DCOP/KDE or the GNOME equivalent, probably KDE , GNOME hackers can comment on that.

    4. Re:This is pretty clever by Brandybuck · · Score: 1

      Microsoft is doing something interesting and innovating. ...like copying Unix

      The Unix world could use this

      What? Copying Windows? I thought we already were...

      --
      Don't blame me, I didn't vote for either of them!
    5. Re:This is pretty clever by Earlybird · · Score: 1
      • ...like copying Unix

      Copying and improving. They are evolving an existing design, a design that hasn't changed in 20 or 30 years. That design hasn't been frozen for so long because it's perfect, but because it's "just good enough" for people to consider and rethink.

      • What? Copying Windows? I thought we already were...

      Yep. Everyone is copying everyone else. It's the nature of design: for the next generation, always combine the best bits of everything else.

    6. Re:This is pretty clever by taradfong · · Score: 1

      It's important that the input and output of these processes are structures (actually, objects, but I don't want to tickle anyone's prejudices about OOP). .NET knows at runtime about the attributes these structures can have, so you can write apps that manipulate a wide variety of object types: files, metadata-annotated documents, log entries, whatever.

      Naturally input/output can be pure text, allowing all the traditional Unix commands such as grep.

      Immediate benefit? If you have the right translator, there's no need to munge text output using awkward tools like tr, cut, awk and so on, just to get at the process ID column of ps or the URL column of the Apache log file.

      This is better than Unix shells.


      I'm all for innovation, but while this may be slicker that Unix, but I wouldn't say it's better. It's only better if every windows program implements the 'commandlet' interface (feasible), and if *nixes implement it, and if a significant body of other software that one wants to work with supports it.

      You suddenly isolate yourself from the rich Unix world of tools. What if you want your package to work with OSX, BSD, Linux, etc. and Monad. Do you expect to see versions of the Unix tools which optionally use the commandlet interface? What a programming nightmare!

      It's the tradeoff between slickness and freedom/universality. Text may sometimes be messy, but it is universal, debuggable and constant. Unix has always been the latter, and Windows is continuing to be the former. Neither is absolutely better than the other, and this Monad approach doesn't bridge the two.

      --
      Does it hurt to hear them lying? Was this the only world you had?
  20. Re:Monad == ?? by yasth · · Score: 1

    How is that different from "tasklist /FI "MEMUSAGE ge 1000" | sort" And I am only using MEMUSEAGE because there doesn't seem to be a handle count filter in XP. I mean some of the stuff seems useable but it doesn't seem like they are really taking full advantage of everything .net could provide. Maybe old hands aren't what was needed. Still more tools are helpful, though MS has a nasty habit of dropping the older tools even when they are further allong in development, or worse starting a bunch of project and not backing any of them.

    --
    I'd do something interesting, but my server can't handle a slashdotting.
  21. Re:Monad == ?? by Fallen+Andy · · Score: 1

    Marketting. Period.
    Believe me. I got stuck with the name "Gword" for
    a well known dictionary I did here in Greece a while
    ago. Still, even the hacker gets his revenge -

    Little known easter egg (any greek friends out there)
    if you start my program with any two command params
    it doesn't put up that pesky splash bit map.

  22. Re:Monad == ?? by Anonymous Coward · · Score: 0
    Sweet, so you guys are approaching where unix was 30 years ago.

    It is good, though, that you are finally trying to do something new yourselves rather than just buy your 'innovations' from people with a creative bone.

  23. Excellect win32 shells exist, but... by aminorex · · Score: 1

    I must confess my ignorance: Does perl have a .net interface yet?

    --
    -I like my women like I like my tea: green-
  24. It's not quite all that by 0x0d0a · · Score: 3, Insightful

    Yes, everything's dandy, until you happen to be using two programs that don't export and import data in compatible formats.

    In the *IX world, stuff moves around in simple text formats. You can glue *any* two programs together, even if the original author didn't intend that you do so.

    In the Microsoft world (well, the new Microsoft world), you can glue together programs that are designed to be glued together.

    Note that Plan 9 did some similar stuff to this (IIRC there was a project called xmlterm that deal with program output that wasn't purely text). It didn't catch on. Dunno how many programs could parse said output, though, or whether it was intended for data representation directly to the user.

    On the other hand:

    a) Microsoft has clearly realized that administrators need a good shell environment and they have not been providing it. This is a Good Thing, and they get points for picking up on this and trying to do something about it. This may be a positive new start. I dunno who started this project, but they clearly weren't blinded by NIH -- people like Linux partly because there's very little NIH associated with it. People like the *IX shell, and Microsoft is responding. Thumbs up on that.

    b) Microsoft is clearly doing something with their Microsoft Research people that is actually going into the OS, and trying to push the envelope instead of just copying. (While the Plan 9 thing above is *similar*, this is not just something they bought from someone.) That also is good.

    1. Re:It's not quite all that by 0x0d0a · · Score: 1

      Oops, I lied. xmlterm is a FOSS project on SourceForge, but I don't believe it was part of Plan 9.

    2. Re:It's not quite all that by Earlybird · · Score: 3, Informative
      • Yes, everything's dandy, until you happen to be using two programs that don't export and import data in compatible formats.
      You missed the part about the type system, then. Any program can access the data, because the data is packed in nice structured .NET types -- arrays, lists, instances, etc. You use reflection to inspect even types your program doesn't understand.

      For example, if something wants to sort objects on an attribute "name", it doesn't need to know the type of the input: it just asks for the value of the name properties. Obviously a sorter needs to know how to compare values against each other: it needs, in short, to be able to turn anything into a string. Those things are solved using formal interfaces: if your "name" attribute is not a string object, it needs to support an interface that allows it to be turned into a string on command (just like Python's __str__(), Java's toString(), etc.). With .NET's type system and automatic boxing/unboxing you already have a rich set of types to interact with.

      The challenge here is agreeing on a set of interfaces that make programs able to interact beyond the basic .NET primitives. For example, let's say the output of my program consists of image bitmaps. Something like a class with an (x, y) extent and a vector of RGB objects. All you need to share such objects is to specify the appropriate interface for clients to use. The client certainly doesn't need any of the originator program's code, just the interface.

      If you think about it, such interfaces already exist in daily usage in a different format: JPEG. GIF. PNG. They're standards need for interoperability. In the same way, programs need to standardize their exchange mechanisms, and if you're saying that the solution is for "everything to be just text" (or more precisely, octet streams) then you're just moving the problem somewhere else. Ultimate, at some point that text/those octets need to become something else.

      (By the way, I'm not a .NET developer.)

    3. Re:It's not quite all that by 0x0d0a · · Score: 3, Insightful

      You missed the part about the type system, then. Any program can access the data, because the data is packed in nice structured .NET types -- arrays, lists, instances, etc.

      Sure, but all data structures in C are made of C primitives. That doesn't ensure that two programs can interoperate. The Windows Registry contains structured data. UNIX config files contain text. I can read almost every UNIX config file with little trouble (though I might need to look up what an option is to get precise data about it). The text files are intended to be read by people -- the config format is thus self-documenting. The Windows Registry is intended for programs to talk to programs. The interface *might* be human-readable but often devolves into cryptic encodings jammed into strings that aren't documented anywhere -- the interface is not self-documenting.

      The same thing goes for *IX programs. You have a mass of programs that spit out human-readable text output. A self-documenting format, one intended to be read by humans. Now, depending on how benevolent the .NET application author is feeling, an application *might* be able to spit out data that can be understood by a human. It also might just expose data that can't be used worth a damn except by another program.

      Now, I agree that the idea of data pipelines of more complex data can be useful. Frankly, I like the idea of even-more-powerful graph programming languages, as certain data-processing environments sometimes use -- image-processing, audio-processing. However, I've rather more dubious when it comes to general-purpose pipelines.

      Also, think about the social issues. *IX world -- do the bare minimum to be usable by a human, and your program is interfaced with. Microsoft world -- you need to go above and beyond.

      And the roles that data pipeline programs play. *IX world -- data pipelines are generally quick 'n dirty tools. They let you write custom and personal tools in a snap. If you want to interface functionality, you use full-blown libraries, with an API that isn't limited by the structure of a pipeline. Microsoft world -- new program structure for introducing a limited interface between programs, intended for more serious programming.

    4. Re:It's not quite all that by Chris_Jefferson · · Score: 3, Insightful

      Just because all your programs input / output ASCII, that doesn't make them "compatable formats".

      I've got bitten more than once by filenames with spaces in, and always thought it would be nice if there was more structure to the input and outputs. Once I got badly bitten by some joker who decided to make a file called "-rf" (yes, you can make such a file). This kind of system with more structure makes it much easier to seperate filenames, switches, etc. in a clean and safe manner. I'm quite looking forward to it myself.

      --
      Combination - fun iPhone puzzling
    5. Re:It's not quite all that by Chester+K · · Score: 1

      Yes, everything's dandy, until you happen to be using two programs that don't export and import data in compatible formats.

      In which case, you'd probably use one of their generic tools to remap attributes, or you could always whip up a quick .NET class and insert it into the pipeline to do more advanced translation.

      Certainly in some cases a plain text pipe is more convenient, but being able to pass structured objects around in a pipeline has the capability to deliver even more; and, especially with regard to media like images, audio, etc., with a more efficient reference-passing mechanism that bypasses excessive copying around in memory, and excessive parse/deparse cycles.

      --

      NO CARRIER
    6. Re:It's not quite all that by Anonymous Coward · · Score: 0

      > Once I got badly bitten by some joker who decided to make a file called "-rf"

      Wait til you get one called "-rf *". Pretty much the only character that can't be in filenames is the slash.

      Apple and Gentoo both got bitten by forgetting to put quotes around parameters in one each of their tools, causing mass deletions for anyone using them.

    7. Re:It's not quite all that by 0x0d0a · · Score: 1

      [shrug] I use two scripts:

      #!/bin/gawk -f
      # bashescape.awk
      {
      gsub(/\\/, "\\\\");
      gsub(/ /, "\\ ");
      gsub(/!/, "\\!");
      gsub(/"/, "\\\"");
      gsub(/'/, "\\'");
      gsub(/:/, "\\:");
      gsub(/;/, "\\;");
      gsub(/=/, "\\=");
      gsub(/?/, "\\?");
      gsub(/@/, "\\@");
      gsub(/\^/, "\\^");
      gsub(/{/, "\\{");
      gsub(/}/, "\\}");
      print;
      }

      #!/bin/bash
      # myxargs
      bashescape.awk|xargs "$@"


      The problem is that xargs isn't a shell builtin, so it doesn't really know what the characters you need to escape for your shell is.

      The latter script, the xargs replacement, is tremendously useful.

    8. Re:It's not quite all that by jgrahn · · Score: 1
      programs need to standardize their exchange mechanisms, and if you're saying that the solution is for "everything to be just text" (or more precisely, octet streams) then you're just moving the problem somewhere else. Ultimate, at some point that text/those octets need to become something else.

      Moving the problem somewhere else is often a very useful technique. In this case, it has worked reasonably well for thirty years.

    9. Re:It's not quite all that by cortana · · Score: 1

      Ouch.

      rm -- '-rf *'

      correct?

  25. xml piping, using XMLStarlet by jmason · · Score: 1
    It's important that the input and output of these processes are structures (actually, objects, but I don't want to tickle anyone's prejudices about OOP).
    Sounds like you need to look into XMLStarlet or one of the other XML-grokking command-line filter tools.

    Structured pipe data has been around for a while, and XML's a natural format for that. I certainly don't see a need to drop in a .Net dependency where XML will do. (Note that I would welcome an XML output mode from ps, though ;)

    Also, re: piping binary data about: see netpbm, a graphics toolkit built around pipes.

  26. Eh? by Estanislao+Mart�nez · · Score: 2, Informative
    Obviously a sorter needs to know how to compare values against each other: it needs, in short, to be able to turn anything into a string.

    I'm sorry, but those are not equivalent statements at all. In most (decent) languages, you implement a sort order simply by providing an arbitrary function (or class, or object, or closure, or whatever) that compares two objects. Hardly ever do you need to convert them to strings.

    Not to mention that even string sorting is done this way-- you don't sort strings in the same order in Spanish and English, for example.

  27. Is this related to one of those magical moments? by Anonymous Coward · · Score: 4, Funny

    Illustrated here.

    Reminds me of the "Magical Microsoft Moments" story:

    I've been attending the USENIX NT and LISA NT (Large Installation Systems Administration for NT) conference in downtown Seattle this week.

    One of those magical Microsoft moments(tm) happened yesterday and I thought that I'd share. Non-geeks may not find this funny at all, but those in geekdom (particularly UNIX geekdom) will appreciate it.

    Greg Sullivan, a Microsoft product manager (henceforth MPM), was holding forth on a forthcoming product that will provide Unix style scripting and shell services on NT for compatibility and to leverage UNIX expertise that moves to the NT platform. The product suite includes the MKS (Mortise Kern Systems) windowing Korn shell, a windowing PERL, and lots of goodies like awk, sed and grep. It actually fills a nice niche for which other products (like the MKS suite) have either been too highly priced or not well enough integrated.

    An older man, probably mid-50s, stands up in the back of the room and asserts that Microsoft could have done better with their choice of Korn shell. He asks if they had considered others that are more compatible with existing UNIX versions of KSH.

    The MPM said that the MKS shell was pretty compatible and should be able to run all UNIX scripts.

    The questioner again asserted that the MKS shell was not very compatible and didn't do a lot of things right that are defined in the KSH language spec.

    The MPM asserted again that the shell was pretty compatible and shouldwork quite well.

    This assertion and counter assertion went back and forth for a bit, when another fellow member of the audience announced to the MPM that the questioner was, in fact David Korn of AT&T (now Lucent) Bell Labs--the author of the Korn shell.

    Uproarious laughter burst forth from the audience, and it was one of the only times that I have seen a (by then pink cheeked) MPM lost for words or momentarily lacking the usual unflappable confidence.

  28. Msh misses the point by Zo0ok · · Score: 3, Interesting

    The fine thing with a shell is that when you have issued the same series of commands numerous times you can simply put them in a script - automation done!

    However MSH seems (with its OO-influenced design) to be a bit too complex for ordinary work. If people dont use it for ordinary work, they cant write scripts "for free".

    The problem today isnt that Windows cant be scripted - it can via VBScript.

    UNIX shells are constructed the way they are because users should BOTH use them for scripting, and for every other task. M$ compromises with simplicity (with its OO-design), so MSH will never be as productive as, for example tcsh.

  29. Is it just me... by brunes69 · · Score: 3, Interesting

    ..or is this indicative of a wider trend, where Windows and Linux are coming together from a technology perspective?

    Think about it. Over the past few years, the windowing environments in Linux have grown more and more advanced. With the newer XOrg releases and upcoming KDE4 and Gnome 3, I expect amazing things from the Linux desktop.

    Meanwhile, while Linux has been addressing it's core weakness, Microsoft already has a firm foothold on the desktop. Instead, the past few years they have been integrating more and more sysadmin-friendly technologies - such as integrating scripting into the OS, improving their command shell (and replacing it - hence Monad), improving remote administration.

    Windows has WinFS, Linux has Reiser4 + plugins.

    In the next few years, I doubt a layman will be able to tell Windows and Linux apart from a purely features / technology perspective. What *ill*be important, is he thing that is the most important - who do you trust with the source code to your OS? A private company or a group of hackers.

    1. Re:Is it just me... by sdcmk · · Score: 1

      No it is not just you that thinks this. From my observation Microsoft is reinventing UNIX and Linux is a clone of UNIX that is reinventing itself as Windows. It also seems to me that we will as you say not be able to tell the two apart in the future.

      "What *ill*be important, is he thing that is the most important - who do you trust with the source code to your OS? A private company or a group of hackers."

      Well only time will tell with that. But one thing is for sure, the operating system will become less and less important when one uses a computer. The applications will be important and that is where the next struggle with closed systems will come into play, open or closed file formats. Will the information be freely accessible by other applications besides the application that created it. This is when we will see a fight over DRM as information starts to be more tightly controlled.

    2. Re:Is it just me... by micromoog · · Score: 1
      Windows has WinFS

      Um, no it doesn't.

  30. Re:Monad == ?? by selfsealingstembolt · · Score: 1

    Some more detailled data about the meaning of the word monad. Especially the first three seem apropriate somehow.

    Monad The word monad comes from the Greek word (from the word , which means "one", "single", "unique") and has had many meanings in different contexts:

    1. Among the Pythagoreans (followers of Pythagoras) the monad was the first thing that came into existence. The monad begat the dyad, which begat the numbers, the numbers begat points, which begat lines, which begat two-dimensional entities, which begat three-dimensional entities, which begat bodies, which begat the four elements earth, water, fire and air, from which the rest of our world is built up. The monad was thus a central concept in the cosmology of the Pythagoreans, who held the belief that the world was - literally - built up by numbers. (The source of this claim is Diogenes Laertius' book Lives of Eminent Philosophers.)
    2. Within certain variations of Gnosticism, especially those inspiered by Monoimus, the monad was the higher being which created lesser gods, or elements (similar to aeons). This view was according to Hippolytus inspired by the Pythagoreans.
    3. In the writings of the philosopher Gottfried Leibniz, monads are atomistic mental objects which experience the world from a particular point of view. Leibniz's theory does not posit physical space; rather, physical objects are constructs of the collective experiences of monads. This way of putting it is misleading, however; monads do not interact with each other (are "windowless"), but rather are imbued at creation with all their future experiences in a system of pre-established harmony. The arrangements of the monads make up the faith and structure of this world, which to Leibniz was "the best of all possible worlds".
    4. Within mathematics, specifically category theory, a monad is a type of functor important in the theory of adjoint functors. It is this usage that has led to the one in functional programming explained below. See monad (category theory).
    5. In pure functional programming languages such as Haskell, monads are data types that encapsulate the functional I/O-activity, in such a manner that the side-effects of IO are not allowed to spread out of the part of the program that is not functional (imperative).
    6. Technocracy Incorporated describes its symbol as being a geometric representation of the monad.
    7. \'Monad' is a codename for a command line interface that is up to come with Windows Longhorn. It includes many features borrowed from Unix and AmigaOS.
    --
    Keep open minded - but not that open your brain falls out...
  31. Re:Monad == ?? by Anonymous Coward · · Score: 0

    > More in line with ur question, the word Monad comes from greek , and it means "one" "single " or "unique". So I guess they think this is a "unique" bit of work.

    They also employ Simon Peyton-Jones, who is the lead developer of the Glasgow Haskell Compiler. MonadPlus transformer chains in Haskell are in fact a lot like structured pipes...

  32. NO, IT DOESN'T by nusratt · · Score: 1
    1. Re:NO, IT DOESN'T by damiam · · Score: 1

      Phrase meanings change over time. The OED says that the "raise the question" definition of "beg the question" is "widely accepted in modern standard English". Please don't be a snobby grammar nazi.

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
    2. Re:NO, IT DOESN'T by nusratt · · Score: 1

      "Please don't be a snobby grammar nazi."

      Grammar/language/spelling/usage "asshole" or bigot, yes.
      But not nazi, and definitely not "snobby".
      It has nothing to do with an attitude of superiority or condescension.
      It's that some people feel that it's important and useful to put a finger in the dike, i.e. to fight to stem the tide of the dilution of the language.

      The phrase "beg the question" very neatly captures a particular meaning -- a meaning which takes a lot more breath to convey if the phrase becomes useslessly ambiguous through sloppy usage.

      Do you want to to talk about snobby?
      Here's what's snobby (or at least pretentious):
      the nascent incorrect usage of "beg the question" could be MORE effectively conveyed by simple alternatives like "raises the question".
      But some people say "beg" because it sounds erudite.
      THAT'S snobby.

  33. Monad is the code name ... by cching · · Score: 2, Funny

    so what's the release name, TEL.NET?

    (old joke, felt the need to revive it!)

  34. It's about time! by GhodMode · · Score: 2, Funny

    My computer experience started with MS-DOS 3.3. I became pretty good at writing batch files.

    I loved DOS and resisted Windows at first. As we all have since learned, resistance is futile and I was assimilated.

    Then, I discovered *nix and I saw the light... a powerful operating system with a command line. I've never looked back.

    My colleagues and friends all think I'm fully Anti-Microsoft, but I just prefer to seek alternatives to Microsoft's overpriced products.

    If this command shell becomes a truly powerful command shell and scripting language, and I allow myself to forget that Microsoft is an evil company bent on world domination, then this has the potential to make me secretly like Microsoft, a little, again... I'm soooo ashamed...

    We'll see... I just signed up for the beta.

    --
    -- GhodMode
  35. Re:Monad == ?? by Anonymous Coward · · Score: 0
    get-process | where "handlecount -gt 400" | sort handlecount

    WOW, it's mixing shell commands, pipes AND SQL-LIKE script constructs. Why didn't they put xml in there as well? And what's with not using PascalCase when this is supposed to tie in with .NET?

    How about...

    Shell.Echo `Process.GetHandle -gt 400` | Shell.Sort

    Wouldn't this be... Joke.MoreFuckingConsistant ?

  36. Re:Is this related to one of those magical moments by Anonymous Coward · · Score: 0

    Weird, when I heard this anecdote it happened at AT&T in the late 80s.

  37. Re:Monad == ?? by pkhuong · · Score: 1

    The way monads are used to glue functions together is often compared to the pipe operator in shell scripting.

    --
    Try Corewar @ www.koth.org - rec.games.corewar
  38. Something to do with functional programming? by Anonymous Coward · · Score: 0

    Does this have anything to do with Monads of functional programming?

    Based on quick look it seems to be non-functional language.

  39. They can't do their job by Anonymous Coward · · Score: 0
    At first Microsoft 'kills' DOS prompt wihout bothering to fix it and say that the command prompt is useless altough everyone knows real stuff is always done by using shell. Then they realize it's really needed and create MSH instead.

    Shell scripting is the glue that keeps things together and allows easy, flexible and fast combination of different data processing programs.

    Only thing I'm missing with current implementations is a possibility to have multiple inputs (pipes) for a program. I know this is a kind of hard to implement without making major changes to OS/existing utilities but it would make things much more usable.

    Buzz is a modular sound synthesis program which shows power of combining simple effects to solve/create complex problems/sounds.

  40. YES IT DOES by Anonymous Coward · · Score: 0

    Did you even read the first article you linked?

    'The second [common meaning], "to invite the obvious question, (with an inanimate subject) to raise the question", is now the most commonly heard use of the phrase.'

    Language changes. This phrase no longer means what you think it should. Get over it.

  41. Re:Is this related to one of those magical moments by yagu · · Score: 1

    yes, I'd heard this anecdote from the 80's also.... OP got modded funny, though... sigh.

  42. Re:Monad == ?? by Trolling4Dollars · · Score: 1

    You are my friend for life. "Feel the power of one nut"!! Monad!

  43. Why not admit to SQL? by cakoose · · Score: 1

    It's great that they're trying to do something at a higher structural level. The Unix command line data structure is essentially just a sequence of '\n'-terminated lines. But while it looks like each filter command is doing its own thing (where, sort, group, etc.), they're really just doing the equivalent of an SQL 'SELECT'. I wonder why they are forcing the Unix-style pipeline syntax instead of a syntax that maps well to the relational model.

    1. Re:Why not admit to SQL? by randall_burns · · Score: 1

      Mod this parent up--

      this was a really good point. But then, few languages really handle relations well.

    2. Re:Why not admit to SQL? by oo_waratah · · Score: 1

      The problem with SQL is that you have everything built into the one program. Pipelines allow you to bolt functions together in an unanticipated order to create complete program concepts without writing any glue code.

      You might want to read the art of unix programming for details on why pipelining is so good.

    3. Re:Why not admit to SQL? by cakoose · · Score: 1
      The problem with SQL is that you have everything built into the one program. Pipelines allow you to bolt functions together in an unanticipated order to create complete program concepts without writing any glue code.

      Pipelines aren't the only way to pass data between separate programs. Sometimes the linear nature of pipelines makes some tasks less straightforward than it could be. The functional programming people have no problem combining the primitive operators to perform complicated operations (and you don't need glue code for that). The main motivation for relational databases was that they let you query your data in unanticipated ways.

      I don't think pipelines are bad; they're really convenient for many tasks. But if the Monad guys are going through all the trouble of enforcing types on the data, they could take better advantage of the more powerful constructs that such typing allows.

      With SQL, you don't have "everyting built into one program" (do you know what SQL is?). Individual queries aren't necessarily tied to each other. The extensibility comes from the fact that you can transform tables in arbitrary ways. You can write a "commandlet" to generate whatever kind of table you want.

      I'm not suggesting that you'll need all the stuff a database gives you (keys, triggers, etc.). It's just that the RDBMS people have come up with good ways of dealing with tables and it would be a good idea to try and incorporate some of that.

  44. New Productivity Suite for the win32 H4x0r by Anonymous Coward · · Score: 0

    ~$ su ~$

  45. Beyond the obvious by Anonymous Coward · · Score: 0

    I suppose the fact that they want Monad users to be able to treat .NET objects like Bash users treat text means that they have to write something new.

    But going back to more basic reasons, Bash is tied very closely to the UNIX signals model and fork()/exec(). Windows uses a better process model, and has a different signals model. Porting bash would be very difficult, and the performance wouldn't be as good as a shell that was designed for Windows.

  46. Monad on Windows 2000? by wtd · · Score: 1

    With the .Net runtime installed, is it possible to utilize Monad with Windows 2000 Pro?

  47. Iron Python by randall_burns · · Score: 1

    I wonder how Iron Python might use what these folks are doing? I can see that this shell may have some slick features-but I don't see a compelling innovation here. What I see is a lot of investment in doing some basic stuff to make windows work that should have been done long ago. If it it done vaguely correctly I suspect some better tools will take advantage of the groundwork being laid here.