Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Windows Operating Systems Software

Microsoft's new CLI 688

An anonymous reader writes "Months ago a story ran regarding a job advert at Microsoft for a developer role to lead the work on a new generation of command line interface. It has now been disclosed at the PDC and its name is MSH (Microsoft SHell), codenamed MONAD. Here is the best description so far."
This discussion has been archived. No new comments can be posted.

Microsoft's new CLI

Comments Filter:
  • by Anonymous Coward on Friday October 31, 2003 @09:34AM (#7357578)
    named GONAD ?
  • MSH? (Score:5, Funny)

    by KDan ( 90353 ) on Friday October 31, 2003 @09:35AM (#7357589) Homepage
    Ranks right along SHT as a crappy acronym. The first thing I would think of when seeing MSH is MicroSoft Hell, not Microsoft Shell...

    Daniel
    • Re:MSH? (Score:5, Funny)

      by swordboy ( 472941 ) on Friday October 31, 2003 @10:13AM (#7357990) Journal
      Its Halloween - lets make a song:

      I was working in the lab late one night
      When my eyes beheld an eerie sight
      For my monster from his slab began to rise
      And suddenly to my surprise

      He did the MSH
      He did the Microsoft MSH
      The monster MSH
      It was a graveyard SSH
      He did the MSH
      It caught on in a flash
      He did the MSH
      He did the Microsoft MSH
    • editor??? (Score:4, Funny)

      by joe_bruin ( 266648 ) on Friday October 31, 2003 @02:29PM (#7361339) Homepage Journal
      so, the critical question is, what is their commandline text editor? i can't imagine them including anything useful. and if they do include it, it's bound to be hidden (like ms's findstr, aka grep)
      let's imagine a typical user session:


      Microsoft Windows XP Advanced Server Pro Champion Edition [Version 5.2.3915]
      (C) Copyright 1985-2006 Microsoft Corp.

      M$ vi test.txt
      'vi' is not recognized as an internal or external command,
      operable program or batch file.

      M$ emacs test.txt
      'emacs' is not recognized as an internal or external command,
      operable program or batch file.

      M$ pico test.txt
      'pico' is not recognized as an internal or external command,
      operable program or batch file.

      M$ joe test.txt
      'joe' is not recognized as an internal or external command,
      operable program or batch file.

      M$ xemacs test.txt
      'xemacs' is not recognized as an internal or external command,
      operable program or batch file.

      M$ ex test.txt
      'ex' is not recognized as an internal or external command,
      operable program or batch file.

      M$ edlin test.txt
      New file
      *quit
      Abort edit (Y/N)? y

      M$ notepad test.txt

  • hah. (Score:3, Insightful)

    by Anonymous Coward on Friday October 31, 2003 @09:36AM (#7357598)
    Take that, dirty Linux hippies! Take that, Thieving Macintosh Republicans!

    Seriously, this is a wonderful thing. The shell has been one of the most lacking areas under Windows. I don't know how many times I've dropped into Cygwin or, before that, wasted time writing little C apps just to do basic bulk renaming operations and the likes.

    Any word on whether they'll standardize the environment across all Windows products, or is this likely to be a server product only? Will this be the standard shell replacement, or will we now have command.com, cmd.exe and newthing.exe all living in parallel? I like choices, but Windows apps' ad hoc use of largeley-incompatible command.com and cmd.exe is already a source of pain.
    • Um... you post anonymously here, the exact same post you put in the writeup? What's the point? Everyone is still going to know who to hack. [livejournal.com]
    • Except of course some moron is now going to dust off a patent on pipe's and sue us all!

      Hey, maybe that's why the USPTO's seal looks an awful lot like the elder gods'...

      • Re:hah. (Score:3, Funny)

        by drinkypoo ( 153816 )
        Pipes come from the original Unix, which is how they made their way into DOS, which was a bad single user knockoff of Unix :P As such they are part of the Unix methodology more than part of the code (though obviously that code is part of what made Unix special when no one else had that kind of redirection) and should not be patentable.
  • MSH... (Score:5, Funny)

    by Valar ( 167606 ) on Friday October 31, 2003 @09:38AM (#7357619)
    I saw MSH and immediatly thought MS Hell, not MS Shell.

    Perhaps it should be MSSH?

    And I'm not bashing either.
  • 3 months... (Score:5, Interesting)

    by heironymouscoward ( 683461 ) <heironymouscowar ... m ['oo.' in gap]> on Friday October 31, 2003 @09:38AM (#7357621) Journal
    ...that's the time before we get the first MSH viruses.

    Am I being cynical when I think this just looks like VB for Consoles?
    • Yes, you are being cynical. It's much closer to C# :) As the article mentions, it's basicly a .NET frontend to common shell tasks, which could be really damn cool.
    • I wouldn't be surprised if there was a virus up and running on the development platform already. You have to make sure all of the features work.

      Seriously, there has to be some form of protection when you integrate everything so tightly... Now that the command line can export to Excel et al and Excel et all can run commands, one can expect so see a lot more viruses propagate that way unless there is a more comprehensive permissions system added to Windows. Why are potential disease vectors running as roo
  • by NotAnotherReboot ( 262125 ) on Friday October 31, 2003 @09:40AM (#7357642)
    Along with MONAD, Microsoft is also developing MENIS, the Microsoft Enhanced Networking Interface Solution. MENIS and MONAD products will be tightly integrated.
    • And then they will probably redo XENIX to run on the NT Family as MUNT (Microsoft Unix on NT).
    • by NoData ( 9132 ) <`moc.oohay' `ta' `_ataDoN_'> on Friday October 31, 2003 @10:32AM (#7358262)
      Yeah, yeah, that's right...and MONAD has some interesting development tools...including Structured Application Code (SAC), to hang your scripts off of, and SHell Accessible File Types (SHAFT), that gives you really big, long file names, and a firewall library via the Active Network Usage System (ANUS), that lets you monitor any nasty packets your box might be dumping, and it's all tied together with some really interesting primitves provided by the Basic Integrated Graphical Handle And Input Recognition Yoking Bridge And Link Library System. (BIGHAIRYBALLS). Sounds promising!
  • Apple will surley make something for 10.4, called iSHELL, complete with anti-alaised fonts, tabbed shells, alpha blending, PRESS F9 and see all your shells at once, and of course support for throbbing Aqua buttons.
    • I don't mean to be snarky here but you can open several terminal windows and hit f10 to show them all at once. Open the prefs and get throbbing aqua buttons, or turn on antialiasing in "Window Settings..."

      If you want tabs, download... [drummroll] iTerm.
  • From the comments after the linked article :-

    Finally a real Next Gen command shell... And one that looks to put the others to shame.

    Nice leep frog MS...


    Can anyone who knows more about these things than I explain exactly how this puts the various Unix shells to shame?
    • by stratjakt ( 596332 ) on Friday October 31, 2003 @09:47AM (#7357733) Journal
      You can do WinFS filtering through the "|" symbol. MONAD can also export natively to: HTML, XML, Excel, or plain command text in either a Table or List format.

      Sure beats the hell out of using obscure grep commands to parse a blob of ascii.

      And....the commandlets are developer friendly. You can make a commandlet by inheriting from the commandlet base class, and adding attribute tags to the public properties to make them parameters to the commandlet. .NET handles whether the user types "-?" or "/?", so you don't have to care anymore!

      Sounds pretty easy for a developer to extend.

      This is a good thing for MS to do. The slashbots are always whining about how MS takes standards and breaks them for it's own gain. Rather than taint your precious bash or perl, they started from scratch.
    • Especially looking at the horrible syntax in the example. I mean what is wrong with:
      foreach token ( `cat $file` )
      do
      do stuff with $token
      done

      Even worse, the example code only covered the first line of my example.
    • You should read the article, if it actually lives up to everything he's talking about, that shell will in fact be pretty damn cool. Returning objects instead of text is a very neat idea, and I'm rather dreading facing the resident Microsoft Weenie on my hall if he catches wind of this..
  • by Gago ( 720274 )
    Yet another feature ....
    The only thing that I would find revelant is that MS is definitly thinking in terms of "they have neat shells in Linux, how can we have something that stands the comparison ?". After Apple including KHTML and GNU parts in its operating system, it seems that Free Software are really getting the lead in software industry.
  • by thoolihan ( 611712 ) on Friday October 31, 2003 @09:41AM (#7357662) Homepage
    It's interesting how the story changes. Ballmer would refer to GNU/Linux(especially elements like the use of the shell) as 1980's technology. Now there are making their own.

    Maybe users will be able to help themself a little bit...
    killall DRM && killall clippy && killall klez
    -t
  • by Verteiron ( 224042 ) * on Friday October 31, 2003 @09:42AM (#7357665) Homepage
    From the article:

    One last thing: anything can be mapped to a drive, and drives don't just have to be letters. (Ok, I lied - that was 2) The example I was shown was that the registry was mapped to a drive, and you could navigate it like any other drive, with the results being returned from the commandlet as .NET objects!

    The user has been able to map a filesystem to a folder rather than a drive letter since at least Windows 2000, and I think it was possible even under NT4. Nothing new there.

    The registry (along with many other things) can be mapped as part of the filesystem fairly easily, as demonstrated by this 264kB DLL file [regxplor.com].

    And as for returning search results as .NET objects? This seems rather like using a baseball bat to swat a fly...
    • The 264kb DLL file is an Explorer add-on that lets you browse the registry using the Explorer. It doesn't let you do anything with the Registry from the command line.
    • The user has been able to map a filesystem to a folder rather than a drive letter since at least Windows 2000, and I think it was possible even under NT4. Nothing new there

      DOS2 included the "assign" and "subst" commands that allowed one to map a drive to a directory, or vice versa.

      • Sure but only within the filesystem.. I think what they're talking about here is more like the Linux /proc filesystem, where you can make things other than filesystems look like a filesystem.

    • And as for returning search results as .NET objects? This seems rather like using a baseball bat to swat a fly...

      Certainly doesn't seem that way to me. It's not like a .NET object is an 800 lb gorilla. It's jut an object. And being an object, rather than a file or text in a certain format, binary or text, it's ready to be used in your script or application, without having to read in, parse, or otherwise make the output or file actually useful.

      When writing shell scripts on Linux or Mac OS X, there have
  • The names (Score:2, Funny)

    by Samus ( 1382 )
    Whats with these names lately? It seems like MS is dropping u's left and right. First the drop the u out of WinFX and now MSH.
  • Monad = Ultimate? (Score:2, Insightful)

    by zetes ( 110457 )
    According to this page [newadvent.org], it means "ultimate, indivisible unit". Interesting. :)

    Z
  • Perl (Score:3, Interesting)

    by martin ( 1336 ) <`moc.liamg' `ta' `cesxam'> on Friday October 31, 2003 @09:46AM (#7357716) Journal
    Most M$ admins I know (and they started out as *nix admins) use perl for their scripting on both O/S's.

    Will be interesting to see how the GUI generation get on with a proper scritping language.
  • by mopslik ( 688435 ) on Friday October 31, 2003 @09:46AM (#7357719)
    C:\> winword.exe
    .___
    // \
    ||@@|
    || ||
    |\_||
    \__/
    _||_

    It looks like you're trying to run a program. Would you like me to start WINWORD.EXE? [Y/N]
    • four words: hill air ee us
  • by Raedwald ( 567500 ) on Friday October 31, 2003 @09:47AM (#7357741)

    'Monads' are part of Leibnitz's philosophy [www.ucd.ie], which Voltaire [lucidcafe.com] famously satirised in Candide [literature.org] with the figure of Dr. Pangloss, who resolutely maintained that we live in 'this, the best of all possible worlds' despite a succession of disasters that would convince any sane man that he was wrong.

    How very suitable for a Microsoft product.

    • Monads are also a branch of category theory that are adopted by languages like Haskell [haskell.org] (the prime developer of which works for Microsoft Research). By obeying a certain set of basic principles, programs structured with monads achieve high degrees of interoperability and consistency, while safely encapsulating data and keeping it from being destroyed by unwanted side effects.

      Sure that's an apropos name for a Microsoft product?
    • by shreak ( 248275 ) * on Friday October 31, 2003 @10:47AM (#7358457)
      Voltaire's criticism and satire of Leibniz was centered around "the best of all possible worlds" premise. It had very little, if anything, to do with Libnitz's monads.

      Monads were, essentially, philosiphical atoms or molecules, albiet in a very metaphysical sense.

      =Shreak
  • It's only a matter of time until some thoughtful person writes enough scripts to make MSH operate like Bash.
  • by Qzukk ( 229616 ) on Friday October 31, 2003 @09:51AM (#7357773) Journal
    For a long time, the windows command line was a joke. It was basically DOS-in-a-box, capable of running programs, and that was about it. Sure, you had net.exe and a few tools borrowed from the unix world.

    Recently, Microsoft has actually begun to produce command line tools for system operations, controlling your services, networks, policies, and registry from the command prompt. But they still have a long way to go, these features are poorly documented (the policy editor's help lists a subset of all the policies you can edit with it. The KB article on it basically is a copy-paste of the help message, with explanations of the policynames provided), typically cryptic, and still don't provide the full set of features.

    They may have come a long way, but they have a long way to go. And remember, this is just playing catchup.
    • It's nice to see MS realizing finally that not everyone wants to point and click. Yeah..it makes it easy for one or two, but when you need to do something to 500 users...

      Incorporating the stuff in the RK into the base OS is a good idea, now if they can just standardize it a bit and clean a few of the rough areas up.
    • by merlin_jim ( 302773 ) <James@McCracken.stratapult@com> on Friday October 31, 2003 @10:50AM (#7358490)
      Recently, Microsoft has actually begun to produce command line tools for system operations, controlling your services, networks, policies, and registry from the command prompt [...] and still don't provide the full set of features.

      One of Microsoft's design requirements for Windows Server 2003 was that EVERYTHING can be done from the commandline, that the GUI interfaces would have NO functionality that the commandline interface does not.

      The Windows .NET Server bootcamp covers the GUI and commandline versions of all the tools, plus provides a take-away reference to each utility.

      But they still have a long way to go, these features are poorly documented

      Here's a list of the command line utilities in Windows Server 2003:
      http://msdn.microsoft.com/library/default.a sp?url= /library/en-us/xpehelp/html/_server_command.asp

      Searching on individual names, or typing the name with a "/?" on the command line will yield more documentation.

      Here's a link to the root reference for the WMIC utilities which are a little more powerful and easily scripted than the command line utilities:

      http://msdn.microsoft.com/library/default.asp?ur l= /library/en-us/wmisdk/wmi/using_the_wmi_command_li ne_utilities.asp
  • by ezavada ( 91752 ) on Friday October 31, 2003 @09:51AM (#7357775)
    Microsoft is the only major OS that doesn't have a standard *nix style shell. The popularity of cygwin for Windows developers shows that there's significant demand for it. Imagine how much nicer it would be if instead of trying to "leep frog"[sic] the Unix shell they just adopted cygwin.
    • Good point! [microsoft.com]

      Unix services for windows has korn shell and c shell, NFS, all kinds of goodies.

      Why do all the microsoft bashers here know so little about any of it's products? Or linux for that matter, there is no one "Unix shell".

      This shell sounds really cool. And it's just a matter of time before someone "liberates" it and releases a GNU version of it.
    • You mean like zsh [sourceforge.net], compiled natively for Win32? Along with a whole bunch of other GNU tools for that matter. I've seen native versions of csh and ksh too, but the bash port seems to rely on CygWin, which makes it a little more bulky, but still very useable.
  • Ximian will soon announce a syntax-compatible shell, codenamed DeezNuts.
  • Wanted: DOS expert.

    Microsoft is developing a new operating system code named CLI. The release name of the project is expected to be "DOS NT".

    We give extra consideration to programmers of command line operating systems. SUNOS, HPUX, BSD, AIX programmers especially welcome Linux programmers best keep that experience to themselves.

    Please apply at jobs.microsoft.com if you feel that you qualify.
  • by Cranky_92109 ( 414726 ) on Friday October 31, 2003 @09:56AM (#7357828)
    Although it's easy to make the gonad jokes, the concept of monads have a long history [newadvent.org] in metaphysics dating back to the greeks. Monads were central to the philosophy of Liebniz [utm.edu], the co-discoverer of calculus.

  • re: Codename "MONAD" 10/29/2003 5:18 PM David McGhee

    What we will need next is intellisense for the command line!
    re: Codename "MONAD" 10/30/2003 1:33 PM Jason Nadal

    Yes we do! They're working on the UI last, from what they said in the breakout session on the topic. Intellisense was mentioned, and they do want to do it.

    I really thought that the first post was sarcarstic, until I read the hordes of "Me Too" replies that followed. Call me crazy, but the last thing I want is Clippy monitoring my typ

  • Nice to see that Microsoft is continuing the stupid naming scheme they started back in the old days with dosshell. Now they will have Microsofts-Hell also.
  • Months ago a story ran regarding a job advert at Microsoft for a developer role

    So one guy wrote Microsoft's Hell (as it will surely be called)? Oh well, Tim Paterson wrote DOS on his own and look how good that was ;-)

  • "I walked up to the booth asking if unix-like file aliases would be in the new shell, and was given a demo by the team that had my mind racing."

    Microsoft is just now adding a powerful shell (I don't think MS-DOS counts as powerful, does it?) and I assume symbolic links by the above quote.

    This stuff was around long before Microsoft. And what pisses me off is that these assholes will pass this off as innovation, so will the press, and so will the sheep.
  • passing objects (Score:3, Insightful)

    by matman ( 71405 ) on Friday October 31, 2003 @10:07AM (#7357926)
    I have to say that passing objects instead of streams of untyped bytes is neat. They may have screwed up the implementation, but having typed data passing in and out of command line tools would be awesome. Consider how cool it'd be if you had command line tools that spit out things like image, HTML, and music objects, etc. The shell could be smart enough to do smart things with the data; you could do a lot more on the normal command line, especially with a framebuffer. Also, apps could do input validation through type checking.
    • Re:passing objects (Score:3, Interesting)

      by Wylfing ( 144940 )
      The shell could be smart enough to do smart things with the data

      Ah, that's the part where MS always falls down, isn't it? Their "smart" choices about what to do with a bit of data are always quite wrong, but they will not be able to resist the urge to make 'grep -n' return Excel data and auto-launch Excel to display the results.

  • by Ars-Fartsica ( 166957 ) on Friday October 31, 2003 @10:08AM (#7357938)
    ...if people would be willing to drop sh/bash etc and adopt a more compelling, orthogonal approach like psh (perl shell) or something entirely new.

    I don't know why more people don't actively pursue a modern language for the shell interface. sh script syntax is tortorous. So much easier and maintainable to write perl scripts. So why not use perl from the command line??

    psh never really seemed to take off but it let you basically enter a perl debugging session but execute shell commands also. This would basically trump anything msh could muster and also provide the entire universe of CPAN to the shell.

    sh is right up there with Makefiles for unix utilities that basically suck but are too entrenched to replace.

    • I don't want a Perl shell (at least not until Perl 6 comes out and only if it blows me away). I would LOVE a Python based shell though that let me do pretty much everything I do in bash as easily.

      Bryan
    • think for a moment (Score:5, Interesting)

      by penguin7of9 ( 697383 ) on Friday October 31, 2003 @12:26PM (#7359825)
      I don't know why more people don't actively pursue a modern language for the shell interface. sh script syntax is tortorous. So much easier and maintainable to write perl scripts. So why not use perl from the command line??

      Yes, you don't know. But think for a moment: people have had Perl-like languages since the 1960's. Do you really think you or Microsoft are the first to think that using an object-oriented scripting language is a good idea?

      The reason why people use sh syntax is because it is enormously effective. Try expressing something like:
      find . -type f | xargs grep -il foo
      in Perl or some other scripting language.

      Of course, many people who complain about sh syntax really just don't know how to use it.

      For interactive use by skilled users and many scripting tasks, bash/ksh is unbeatable. And for the kinds of scripts where Perl makes sense--you can simply use Perl.

      This would basically trump anything msh could muster and also provide the entire universe of CPAN to the shell.

      Yes, psh is a better version of what msh is trying to achieve. But, you know, even that's nowhere near good enough to dethrone bash/ksh.
    • psh never really seemed to take off but it let you basically enter a perl debugging session but execute shell commands also. This would basically trump anything msh could muster and also provide the entire universe of CPAN to the shell.

      First- on OS X and Linux, I use psh. I love having a real language as my shell, no need to write little glueish C programs or look up really (more than perl sometimes!) obscure bash syntax. As far as Unix shells go, it's definately top shelf.

      But I don't think it could tru
  • by Ridgelift ( 228977 ) on Friday October 31, 2003 @10:56AM (#7358564)
    From the article:
    One last thing: anything can be mapped to a drive, and drives don't just have to be letters. (Ok, I lied - that was 2) The example I was shown was that the registry was mapped to a drive, and you could navigate it like any other drive, with the results being returned from the commandlet as .NET objects!

    From ESR's "Art of Unix Programming"
    Quote #1
    Unix has a couple of unifying ideas or metaphors that shape its APIs and the development style that proceeds from them. The most important of these are probably the "everything is a file" model and the pipe metaphor[20] built on top of it.

    Quote #2
    NT has grown by accretion, and lacks a unifying metaphor corresponding to Unix's "everything is a file" or the MacOS desktop

    Oooo! So does this mean Windows is finally going to have a unifying idea, something like "everything is almost like a file"?
  • by master_p ( 608214 ) on Friday October 31, 2003 @11:03AM (#7358663)
    They should have used the .NET platform for scripting. It would offer numerous advantages:

    1) full programmability from the shell; the script programmer can use linked lists, for example, if she wishes.

    2) access to GUI functionality; some times it is desirable

    3) an already existing interpreter that can do optimizations on the fly: the .NET virtual machine.

    4) the .NET security model.

    5) .NET aware programmers would be able to right scripts without looking for some scripting language manual.

    6) network adminstrators could transfer their scripting skills to development; I know plenty of guys that want to jump from administration to development.

    7) documentation for .NET already exists; there are numerous web resources.

    8) .NET is fully object oriented; scripts can be written as classes placed inside compiled code or run from the shell.

    9) less cost since they would have to maintain one less piece of code.

    10) long scripts that run frequently could be compiled to .exe for faster execution.

    11) as .NET is upgraded, the script capabilities automatically get upgraded.

    12) ability to talk to programs through the .NET's advanced COM technology; interoperability with major .NET enabled applications.

    13) direct use of XML and databases from the script.

    14) easy networking, using sockets with one line of code.

    To my mind, a script is just like a console application, although in source format and not in binary. There is no conceptual difference: a script is a program that someone writes that is not compiled; it runs interpreted. It would be a waste of resources to use anything other than .NET for scripting. In Linux, scripting languages have evolved to fully programmable libraries...

  • by ripcrd ( 31538 ) on Friday October 31, 2003 @11:10AM (#7358757)
    I couldn't even get through the headline without busting a gut. What were those marketers thinking? Are they NUTS?

    And the shell, Welcome to MS Hell. I'm already there, baby.
  • by freality ( 324306 ) on Friday October 31, 2003 @11:32AM (#7359073) Homepage Journal
    I'm all for trying new things in new ways, but it's also good to take stock of old ways. Here's 2 examples that come to mind:

    1) I've recently talked to a friend about a problem he was trying to solve. He's on OSX and perl hacker. He wanted a utility to find all the duplicate files on his machine, and was considering writing it in perl or maybe java. We talked about it a bit, and I said I'd approach it by writing the shell script first as a prototype. I wrote it into our IM conversation off the top of my head:

    find / -type f -exec md5sum \{\} \; | gawk '{print $2" "$1}' | sort -k 2 | uniq -D -f 1

    We looked around and found lots of programs on OSX to do this.. some even for $. But I don't think he even went ahead with coding it... this was good enough.

    2) Once I talked to Brewster Kahle, director of the Internet Archive, about their choice of OS/tools (Linux/ext2 and GNU, respectively). Mr. Kahle said GNU tools in bash were the only technology they had found that could process the data at the IA, i.e 300TB+ rolling snapshot of the internet. They'd found some problems in sort I think, but sumitted patches.

    So sure, you can do this all again, but somebody is going to have to find that bug in MSH's sort, and they probably won't be able to submit a patch because MS is a proprietary shop.

    The UNIX shell is a great inheritance. It's cryptic when you first get into it, but basically, it's that way for terseness.. you can find out how to do almost anything by reading the f'ing manual, or searching the web.
  • by Alex Belits ( 437 ) * on Saturday November 01, 2003 @04:13AM (#7365805) Homepage
    So basically Microsoft, in their fine tradition of creating an confusion in terms, made a "shell" that can't run programs but instead runs "managed code" (aka shared libraries in dotnet environment) and maintains all objects inside itself, but has a syntax that is confusingly similar to Unix shell pipes. The concept is obviously flawed -- Unix shell uses Unix-specific unified file descriptor model, that Windows lacks, so while in Unix shell is often used to process easily-parseable text using pipelines of programs (some remote) and any overcomplication of data passed between programs is frowned upon, in Windows the most convoluted ever format is being used to exchange things between "programs" that are sitting in the belly of that "shell". They could just as well make the whole interface an UML editor.

    If anything, it can prevent some people who learned that shit from switching to Unix -- they will until the end of their miserable lives associate pipelines with shitloads of DLLs instead of streams of text.

"I'm a mean green mother from outer space" -- Audrey II, The Little Shop of Horrors

Working...