Slashdot Mirror


Windows to Have Better CLI

MickyJ writes "The command line interface to the Windows Server OS will be changed to the new Monad Shell (MSH), in a phased implementation to take place over the next three to five years. 'It will exceed what has been delivered in Linux and Unix for many years', so says Bob Muglia, a Senior VP at Microsoft." More from the Tom's Hardware article: "The language in Muglia's comment offers the first clear indication that WMI may be yet one more component being left behind, as Microsoft moves away from portions of Windows architecture that have historically been vulnerable to malicious attack."

34 of 742 comments (clear)

  1. Balls? by Grave_Rose · · Score: 5, Funny

    Unix have no Monads.

    Gr@ve_Rose

    --
    !ekoj on si aixelsyD
    1. Re:Balls? by DenDave · · Score: 4, Funny

      And if they did, it would be GPL and probably be called....

      Yep.. gonads...

      GNU/Gonads...

      gonads.org??

      --
      -if at first you don't succeed, stay the heck away from paragliding.
    2. Re:Balls? by ondrasek · · Score: 4, Insightful

      Well... I've played with technological preview of Monad. Being bash addict, I must however admit, that Monad offers functionality beyong imagination of modern Linux shells. It passes objects through pipes instead of text and is strictly object oriented. It uses a model of namespaces, so in Windows, you are able to browse registry, file systems, environment variables, etc. in unified way.

      The authors claim, that it's modelled after the VMS shells. VMS seems to regain its fame in Microsoft, with Windows NT kernel being originally designed by Dave Cutler - a VMS guru.

      Monad really rocks and is worth trying.

  2. Way to go! by Anonymous Coward · · Score: 5, Funny

    "The language in Muglia's comment offers the first clear indication that WMI may be yet one more component being left behind, as Microsoft moves away from portions of Windows architecture that have historically been vulnerable to malicious attack."

    1. Write complex management interface
    2. Shore up security holes over many years of use and testing
    3. Ditch for new immature code
    4. ?
    5. Profit!

    If they're ditching WMI it *won't* be for security reasons.

  3. Monad? Rather than... by dyfet · · Score: 5, Funny
    Because they couldnt get a full pair? I found the implications of the name too humorous to pass commenting on...

  4. It's about time by Anonymous Coward · · Score: 5, Insightful

    Microsoft ignoring the command line is just as silly as ignoring the Internet. It's only taken them longer to realise because only power-users and sysadmins are affected instead of every user.

    1. Re:It's about time by ILikeRed · · Score: 5, Interesting
      Don't forget about your example that Internet Explorer was not originally a Microsoft product:
      • They took the code from a project called Mosiac
      • They made a deal with a company called Spyglass to use their source code from Mosiac
      • The deal was for a small quarterly payment and a big percentage of sales of Internet Explorer
      • They screwed both Netscape and their partner Mosiac by giving it away for free - undercutting the competition and avoiding all royalties to Spyglass - putting them out of business also.
      So maybe they just could not find any BSD based CLI or naive proprietary company to screw out of a good CLI? You have to admit though - that is quite some business innovation - Bill's pure genius at it's best. I heard Spyglass finally got a few million out of their lawsuit. It just amazes me that people don't remember these things.
      --
      I have come to a conclusion that one useless man is a shame, two is a law firm, and three or more is a congress -J Adams
  5. Next Slashdot Headline by sammykrupa · · Score: 5, Funny

    Next Headline on Slashdot:

    Microsoft Pushes Back Longhorn Until 2008 Over New CLI and Changing of "My"

    1. Re:Next Slashdot Headline by justforaday · · Score: 5, Funny

      I just really hope there will be an icon on the Start menu labeled "My Command Prompt"

      --
      I'll turn into a supernova and burn up everything. Well I'll turn into a black little hole and you'll turn into string.
  6. vaporware by mattdm · · Score: 4, Funny

    Bah:

    "...will exceed what has been delivered in Linux and Unix for many years. It will take three to five years to fully develop and deliver."

    Somehow I'm not too worried.

    1. Re:vaporware by HyperChicken · · Score: 5, Informative

      It's not "vaporware"; It actually exists. You can get in on the beta for free.

      http://channel9.msdn.com/wiki/default.aspx/Channel 9.MSHWiki - How to sign up

      --
      Free of Flash! Free of Flash!
    2. Re:vaporware by Eric604 · · Score: 4, Insightful

      Because they can rip off Linux/UNIX shells that have been developed, tested and improved by hundreds (thousands?) of people over the course of more than 20 years?

    3. Re:vaporware by ssj_195 · · Score: 5, Interesting
      Why should you be worried?
      Because there are a surprisingly large contingent of people who define themselves by the operating system they use, and whose self-esteem is directly linked to the perceived superiority of this operating system over Microsoft Windows. During the late nineties, when Windows was truly a buggy, crashy, piece of shit, these people positively basked in the glee that came from the vindication of their chosen OS - back then, Linux truly was light-years ahead of Windows in terms of speed and stability, and geeks rejoiced in the streets.

      Flash-forward to Windows 2000/ XP, and Microsoft apparently accomplished a miracle, producing a version of Windows that would literally run and run, and was still fairly nippy. Meanwhile, the writers of Linux Desktop Environments were discovering that it's very easy to be fast and light when you don't do much, or aren't particularly user-friendly, and that increased functionality almost always comes at the price of bloat.

      So these people saw two pillars of the superiority of Linux (speed and stability) snatched away from them. The truly curious thing is what happened next: instead of being spurred into action by this new competition and addressing these concerns on the Linux side, these people instead simply went into a state of denial, and refused to let go of these cherished (and rapidly shrinking) areas where Linux once scored over Windows. Read through any anti-MS slashdot article on any given day and count the number of horribly outdated criticisms of Microsoft you see (BSOD's; bloat; Clippy(!)) - as a passionate believer in F/OSS, it really grieves me to see people behaving like this, rather than aiming to improve Linux to the state where it once again has many advantages over Windows.

      Flash-forward to now, as one of the other areas in which Linux scores over Windows (a UNIX command-line is an awesome and enjoyable tool to use; the Windows command line, by contrast, is a rubber hammer with nails in the handle :)) may well be snatched away, and we see the same thing: people are hoping against hope that Microsoft foul it up, because if they don't another area of Linux superiority disappears, along with another shred of their self-esteem. This, I think, is why people care, and why they do not wish Microsoft well in this project, however helpful it may be to the common good.

    4. Re:vaporware by LarsWestergren · · Score: 5, Insightful

      Linux/UNIX shells have been developed, tested and improved by hundreds (thousands?) of people who use them repeatedly every day over the course of more than 20 years. How the hell is MS going to make something superior in 3-5?

      I hate to be in any way sticking up for Microsoft, but don't underestimate the value of starting from a clean slate.

      Apple has done some pretty nifty things, for instance launcd . I know it's not popular with everyone, but I think it was pretty cool replacing all these different scipts and daemons, and having one XML based config file. They simplified by daring to question established wisdom (the "We've always done it this way so it must be perfect" mindset.)

      --

      Being bitter is drinking poison and hoping someone else will die

    5. Re:vaporware by ssj_195 · · Score: 5, Insightful
      I hope you're not trying to paint me as "an MS shill"; check through my posting history and you'll see that this is anything but the case.

      Anyway, point by point:

      Well, unfortunately for them, 2000/XP, though better than Win 9x, are still far from reality. XP still does not run and run, 2000 does not either. They slowly come to a halt, XP faster than 2000. These OS can run and run, if you put one service only on them, and tweak them for two plain days until they ressemble nothing you could work with, which is a process I call tedious, not a "miracle". I never saw one of these OS run and run, but I suppose it is acheivable. Compared to a Linux that run and run without any tweak, there is still a chasm between the two OS.
      On this, we'll have to agree to disagree; I've seen XP crash a handful of times: a few times when it turned out my graphics card was faulty (this crashed Linux, too) and once when I was copying a file from my Linux comp to a friend of mine's XP comp via samba. The latter is inexcusable (but funny side-note: my friend blamed "Linux's crappy Samba implementation", even though it was his computer that crashed, not mine!). The rest of the time, my XP computer at work truly does run and run, requiring a reboot only when a critical Windows Update is required. Your experiences are apparently different.
      When KDE, despite being stuffed with features at every new version, becomes more and more fast with each release.
      This is true - KDE has been getting faster and more memory-friendly - check out the "top" output for KWrite (or is it Kate) under the KDE4 prototype code. I'm very pleased with the progress of KDE, and a recent talk by Robert Love (on optmising GNOME) shows that the Desktop Linux developers are very committed to reducing bloat, which I couldn't be happier about. However, the fact that KDE is getting faster either tells us that something that's always been good is getting better, or something that was slow and memory hungry before is getting better - much like Mac OS X, which started out dog-slow but which has been improving in speed with each successive release. Respectfully, I'd have to say it was the latter: on my 256MB laptop, KDE starts to swap more and much sooner than XP does (i.e. with fewer apps open). Firefox consumes far more resources than IE (although admittedly it also accomplishes far more). Having said that, the focus on the Linux side is on getting faster (I'm drooling with anticipation at XGL), so on the speed/ memory consumption side I see Linux ultimately winning out.
      Now, one thing I wonder : how MSH will come superior to bash, when bash is cross-platform, and msh is not ? It destroys one of the most important features of shells ...
      Cross-platform-ness is admirable, but a shell where objects are first-class citizens sounds pretty good to me. I determine the power of a shell by how much easier it will make my life.
    6. Re:vaporware by tsotha · · Score: 4, Insightful
      Back to reality from your piece of FUD :

      I can't belive you wrote that page-long screed without even reading what he wrote. I see this kind of crap on slashdot all the time. The only "Microsoft shill" there is the strawman you set up. I'll bet if I go back through your posting history you've made the same speech several times.

      I'm so sick of this kind of brainless Microsoft bashing. Most of the people here parrot the group-think line without having any idea what they're talking about. I suspect that means you, since my experience with XP is much different.

      Right now at work I'm using RHEL for development and XP for gaming/taxes/whatever at home. Guess what? XP, in my experience, is more stable than Redhat. That's not shilling, it's just my experience. I've never (not once) had XP crash on me. I wish I could say the same for Linux.

      It's true Microsoft pays "journalists" to come up with nice reviews in trade magazines. They know that's what non-technical management reads to make up it's collective mind. The only way Linux is going to make inroads into the corporate desktop is by being demonstrably better than Windows. That way the one or two honest tradesheet writers will write a nice article to give some backing to those of us that want to support OSS.

      But how can Linux improve if a substantial portion of its advocates can't even fucking see it's not perfect? As the grandparent noted, every release of Windows narrows the gap. If Microsoft adds a shell that I can use from a remote machine that removes one of the three reasons I don't use Windows for serious work:

      • no shell (cmd doesn't count)
      • viruses
      • I want to support OSS
      I hope there never comes a day when the only reason I have to run Linux is the third reason. I'll never be able to sell that to the boss.

      Oh, and by the way, don't bother accusing me of having "no knowlege" of the FOSS world. I've been writing and using FOSS since the internet was born. Have you?

  7. So Apple IS faster.... by Anonymous Coward · · Score: 5, Funny

    They change their entire platforms over 2 years, and MS will spend 3-5 years changing the default shell? :p

  8. Windows already has an excellent CLI by Weaselmancer · · Score: 5, Funny

    ...you just gotta go download it from here.

    --
    Weaselmancer
    rediculous.
    1. Re:Windows already has an excellent CLI by Yuioup · · Score: 4, Funny

      Yeah but the problem with Cygwin is that it's Open Source...

      Y

  9. I refuse to use it! by Roofus · · Score: 5, Funny

    Unless I can get transparent terminals. That is what really holds back MS in the server market. I mean, how useful is a shell unless you can see through it?

    1. Re:I refuse to use it! by jellomizer · · Score: 4, Interesting

      Bla Bla Bla waste resources. Did you ever look at the system monitor and see what the difference in resources are if you have a transperant window is?
      I havent seen any difference. Transparent shells are acutally quite usefull. When I am reading documents on how to install a program I never installed before I usually have the webpage open and when I am typing in the text I can see the Website threw the shell and make sure I am typing it in correctly. (because I am a bad speller it is usefull) also it is quicker to type then cut and paist a lot of the time. espectilly when you need options that may be on the screen but not part of the example.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  10. Those who do not understand UNIX.... by caluml · · Score: 4, Interesting

    Isn't this just a case of: "Those who do not understand UNIX are condemned to reinvent it -- badly". -- Henry Spencer.
    Soon they'll be storing config in files, and have a CLI only version of their server.

    1. Re:Those who do not understand UNIX.... by Jason+Earl · · Score: 4, Insightful

      Heck, this is probably what's taking them so long to actually release Monad. It's one thing to create a scripting language, it's another thing completely to create hooks that allow you to actually administer systems with the scripting language. UNIX has the advantage that A) everything is a file, and B) nearly all configuration files are some sort of structured text.

      Microsoft is all excited about being able to pipe objects on the command line, but that's really only because that's what Microsoft has to work with. All of the information that you want is locked up in some poorly documented binary file somewhere that was designed to be accessed from some sort of GUI. The beauty of UNIX's strategy is that I don't have to read some sort of API for a certain configuration object. Instead I simply eyeball the text files and use a vast array of text manipulation tools to do what needs doing.

  11. Re:ooooh by metlin · · Score: 5, Informative
    The beta has been available for sometime now - apparently you need Win2003 or .Net v2 for it to be installed.

    From someone I know who uses it:
    • Very slow, but the scripting was sweet, though not as compact as unix
    • Reminds you of a bastard child of unix+VMS
    • You can write commands in C#, kinda like servlets where you can extend a base class
    • It's an OO way of doing things, but unlike Perl/Python which are screenscrapers, Monad scripts can pipe out and pipe in objects - and everything happens through typed vars, not screenscraping.
  12. Re:Better late than .... by Ford+Prefect · · Score: 5, Funny

    It is interesting that they are now trying to implement a command line competitive with BASH....what year is this again?

    The year is 1973. Apple Computations Inc. have just announced that they are switching to the cutting-edge Zilog Z80 architecture for their range of low-cost pocket calculators; Sony Industrial Consumer Electronics are making use of an innovative new Integrated Circuit for their Alpha-Max-3 video system which contains at least five separate transistors; the Duke Nukem Forever board-game has been given a favourable reception at the Entertaining Entertainment Exposition at the Crystal Palace, London, and now Micro-Soft-Ware are designing their new, BASIC-derived timesharing shell for competing against the burgeoning MULTICS.

    Well, you did ask...

    --
    Tedious Bloggy Stuff - hooray?
  13. MSH: QuickRef by nighty5 · · Score: 4, Informative

    A quick list of functions and examples, looks very Bourne.

    http://channel9.msdn.com/wiki/default.aspx/Channel 9.MSHQuickStart

    Its about bloody time.

    VBS is a peice of crap, and is way to complicated for what should be simple tasks, MSH looks pretty damn promising.

  14. random current cmd gripes by kisrael · · Score: 4, Interesting

    There are two and a half things that bug the hell out of me with the current CLI:

    1. The tab completion behavior (the 'half' part of my 2 1/2 gripes is sometimes you have to fiddle with a registry setting to turn on tab completion). A unix shell (well, the one I'm used to, not even sure which) will complete only up to the point where its unique, and then I can hit Ctrl-D to see possible completions. A lot more predictable than tabbing through all completions that might fit what you've typed...the distinction between "characters I typed myself" and "characters showing up because I'm cycling through" has no visual cue, even though it completely controls what files get shown.

    2. up arrow behavior. It took me a while to finally "get" the logic of Windows...if you type command A, then command B, then command C, then arrow back up to B and run that, pressing down will then take you to C and up will take you to A. I think that it's meant to cover a long sequence of commands that you do over and over, so you don't have to keep uparrowing, but just pressing down once per repeated command, but its much harder to keep a mental model of.

    Both of these things are classic Window's trade off of predictability for perceived "user friendliness". I think hackers often prefer predicitability and ease of mental modeling, since they can always make it easier by some scripting or whatever.

    On the other hand, I like that I can add "\.." to the end of a filename and get to its directory. That's something that seems logical to me that Unix shells don't generally do.

    --
    SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
    1. Re:random current cmd gripes by Tim+C · · Score: 4, Interesting

      I would suggest that the reason you find them unpredictable and counter-intuitive is that you're used to the way your preferred Unix shell does things.

      If you liken up-arrowing in the command history to up-arrowing in a text file, if you make an edit in the file, your cursor doesn't magically fly down to the bottom of the file, it stays where it is. That, I suspect, is the reasoning behind the Windows command shell's behaviour - it stays where you left it. Think of it as editing the list of executed commands.

  15. Re:ooooh by dysprosia · · Score: 4, Interesting

    Monad scripts can pipe out and pipe in objects

    This is trivial to implement with a programming language that supports serialization, esp. if it can serialize to stdin/stdout.. In Objective-C, it's a simple matter of objc_open_typed_stream(stdin, OBJC_READONLY); and objc_open_typed_stream(stdout, OBJC_WRITEONLY); and read:'ing and write:'ing to the stream.

  16. Re:WTF? by DaHat · · Score: 4, Informative

    I'd suggest you take of your Microsoft bashing hat and come out side, Monad has been in public beta for nearly a year now, want to take a look?

    1. You will need need a passport account. If you do not have one yet, you can sign-up for one at the beta website listed below.
    2. Goto http://beta.microsoft.com/
    3. Log into the site using the following guest ID: mshPDC
    4. Select Microsoft Command Shell
    5. Select Survey in the left column
    6. Register with a valid email address.
    7. Wait for the information to be sent to you through email. (May take a day or two)
    8. Once you receive your confirmation email, log back into http://beta.microsoft.com/ for the content

  17. Here's a screenshot! by Anonymous Coward · · Score: 4, Funny
    C:\> winword.exe
    .___
    // \
    ||@@|
    || ||
    |\_||
    \__/
    _||_

    It looks like you're trying to run a program. Would you like me to start WINWORD.EXE? [Y/N]
    ---
    (courtesy of mopslik. Original post.
  18. Actually by bmajik · · Score: 5, Interesting

    i saw an early alpha over 2 years ago. I was blown away.

    Note that prior to joining MS, i did admin and development work on linux, solaris, irix, and even hp-ux. i know my way around a unix shell pretty well. I started making noise a few years back about how awful cmd.exe is and how we need a real scriptable admin experience. Some people said "go check this out". I was blown away at what they already had.

    There are some things about MSH that are really, really good. I'm looking forward to it. I'm frustrated that a lot of the early momentum it had seems to have fizzled and its now bogged down in "product development" :/ The early alphas were releasable, imo. Especially compared to cmd.exe, which is squarely awful :)

    --
    My opinions are my own, and do not necessarily represent those of my employer.
  19. well.. by bmajik · · Score: 5, Informative

    i see that some brilliant person modded me as "troll". nice :/

    anyway, heres what i thought was cool

    - entirely object based. objects are pased via pipeline composition. that means you can do something like

    ls | pick name, size | tableout

    ls is going to return you a collection of "file" objects. the file object has properties "name" and "size" (and lots of others). the pick command takes each incoming object, and looks for properties called name and size. it then passes down a "new" object that is a bag of the name/size combos (or, it may pass along the original file objects.. i dont remember precisely). finally, tableout is a generic formatter that takes objects and formats them one per row, where each property in the object is displayed in a column.

    note that you could replace tableout with say, csvout, or maybe "Excelout"

    so the pipe paradigm changes in a way thats pretty cool.

    Also, because you're working with .net objects which can be reflected, you get intellisense on the commandline, like working in visual studio. you dont necessarily have to remember properties and what not from object streams - it infers them for you.

    (note that a problem i asked them about when i saw the demo - if you have a pipeline where you want tab completion in stage 3, but stage 1 "modifies" state (i.e. in stage 3 you are reporting on what you deleted in stage 1) how do you get the tab complete info without doing the state change in stage one?.. they were aware of this problem and were thinking about it.. but that was years ago :)

    finally, what was cool is that across MS people are buying into the idea that a commandline shell that manipulated object representations of data in a generic way was going to be the path forward for adminsterting windows. Consider that the IIS metabase is now xml instead of what it used to be.. and that msh is a shell that works on structured objects... its not coincidental.

    --
    My opinions are my own, and do not necessarily represent those of my employer.
  20. Apocryphal Story by Epeeist · · Score: 4, Interesting

    There is an apocryphal story about someone from MKS and an MS flack giving a joint presentation on their UNIX toolkit for Windows.

    During the bit about KSH an old guy at the back kept piping up with comments like "that feature wasn't implemented properly" and "that doesn't conform to the specification". Apparently the MS flack expostulated a lot and try to cast doubt on the old guy's qualifications. It was only then that it was pointed to him that the person making the comments was David Korn.