Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Microsoft's new CLI

Posted by CmdrTaco on Fri Oct 31, 2003 09:33 AM
from the everybody-loves-the-cli dept.
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."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • 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.
    • 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'...

  • 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.
    • Re:MSH... (Score:5, Funny)

      by JPelorat (5320) on Friday October 31 2003, @09:42AM (#7357663)
      "And I'm not bashing either. "

      da dum tcsh!
    • by twitter (104583) on Friday October 31 2003, @11:32AM (#7359072) Homepage Journal
      Well, errr, you can't really tell where they are going at all. They have derided scripting with their idiotic GUI bet [usatoday.com] which they claim is incompatible with scripting. Well it was on their platform because they spagetti coded everything into the GUI. A brief look back shows where they have been with CLI. It also shows that Microsft really can't compete and those who stick with them are in for a bad ride.

      Bill Gates, on the launch of XP [wired.com]:

      Gates said the release of XP "marked the end of an era, the end of DOS [trexion.com] and also the end of Windows 95." ... Gates informing the crowd that he agreed with Apple's Jobs that Windows 3.1 was a "crummy operating system," and assuring the crowd that he'd soon say that about Windows 95.

      Of course, we remember they used the phrase "end of dos" for the launch of windows 95. Funny how they are now saying the same things about XP they said about 3.1, 95, 98 and ME. That's consistency!

      Now, do they have consistancy in shells? They have derided their primary shell, DOS. But what of their other scripting efforts? Remember their "Unix Killer" "New Technology (NT)" and their ksh? Korn does!

      I knew that Microsoft had licensed a number of tools from MKS so I came to the microphone to tell the speaker that this was not the "real" Korn Shell and that MKS was not even compatible with ksh88. I had no intention of embarrassing him and thought that he would explain the compromises that Microsoft had to make in choosing MKS Korn Shell. Instead, he insisted that I was wrong and that Microsoft had indeed chosen a "real" Korn Shell. [slashdot.org]

      Ah yes, so portable it was. While NT is dead, csh and ksh trive themselves and in their free counterparts. No new training is required for bash or pdksh.

      For an instant, Bill liked Java [microsoft.com]:

      Java is our latest programming tool, and we've got a Java compiler with the highest benchmark feeds, great debugging. Java's -as you know, is a wonderful language, and everybody should have that in their portfolio. (1996)

      He tried to make the crowd laugh at Sun in the same speach because he wanted to kill Unix with NT. Where is M$ "java" today?

      C# .NET and all look to me like a combination of all the second rate junk they've thrown together in their attempt to emulate and eradicate first rate competitors. "Linux is a Cancer", they say, use our shared source instead. Yeah right.

      Oh wait, I see the patterns. EEE, Embrace, Extend, Extinguish followed by "that sucks, buy the new one." You have to be blind to miss it. If you follow the M$ way, you will be constantly sucked for money and time learning their new tweaks.

      It's only going to get worse because free software is impossible for them to eat up or beat. Their efforts to stick to their previous marketing plans are wrecked by actually having to compete on merrits and price. This is making them less and less stable. The closed source model can not compete with the free software development model.

  • 3 months... (Score:5, Interesting)

    ...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?
  • 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.
    • 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!
  • 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...
  • 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 nmaeone (596348) on Friday October 31 2003, @10:37AM (#7358329)
        It looks like you pressed [o]. Are you a french language user? [y/n][o/n] n
        ...
        In order for the changes you have made to take effect, you must first reboot your computer. Your computer will automatically restart in 5 seconds.
        ...
        It looks like Monad (c)(tm)(iya) is configured for qwerty keyboards. Should I configure it for azerty? [o/n]
        ...
        In order for the changes you have made to take effect, you must first reboot your computer. Your computer will automatically restart in 5 seconds.
        ...
        It looks like the azerty configuration messed up a little a few applications configurations. Should I adjust their configurations? [o/n]
        ...
        In order for the changes you have made to take effect, you must first reboot your computer. Your computer will automatically restart in 5 seconds.
        ...
        It looks like the adjustments break a little the Windows(c)(tm)(iya) Registry? Should I replace it with the saved BackUp Registry? [o/n]
        ...
        In order for the changes you have made to take effect, you must first reboot your computer. Your computer will automatically restart in 5 seconds.
        ...
        It looks like the saved BackUp Registry is now totally screwed up. Should I try to reboot the PC in order to automagically repair everything? [o/n]
  • 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
  • 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.
    • 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.
  • 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.
  • 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.
  • 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.

    • 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.
    • Re:Very Nice (Score:5, Insightful)

      by stratjakt (596332) on Friday October 31 2003, @09:39AM (#7357628) Journal
      Anyone who wants to do a bit of scripting on Windows has vbscript, javascript, perl, tcl/tk, and a plethora of other options.

      This is going to be for headless servers. So you can ssh into a box and administer it remotely, or through a dumb terminal on a serial port, etc, etc..

      There's no good reason your mailserver or each machine in your SQL Server farm needs a GUI.
    • Re:Very Nice (Score:5, Insightful)

      by Kingpin (40003) on Friday October 31 2003, @09:45AM (#7357707) Homepage
      You get rated 'Insightful' for stating what OpenSource zealots hope. What if this shell actually knocks the socks off *sh?

      What if Longhorn does indeed provide more security, not only in default settings, but more inherently in the OpenSource?

      Do you think the average developer/manager at MS is dumber than your average OS participant? (This is not a tric.. Damn, I'm falling in myself..)

      But really - if "we" are to compete, we will have to steal the ideas that "work" from MS camp, just as they're "stealing" "our" ideas that WORK.

      Linux is narrowing the gap to MS on the desktop (albeit slowly), and MS is narrowing the gap to Unix on eg. CLI, stability and security. Their software matures too, you know..

      And then there's Apple. They make fun stuff. The are not afraid to invent, and they have the money to launch stuff that the OpenSource movement cannot. I don't quite know where to place them compared to OpenSource and MS.
      • "What if Longhorn does indeed provide more security, not only in default settings, but more inherently in the OpenSource?"

        Then we'll finally know that Duke Nukem Forever is about to go gold.
      • The difference: (Score:5, Informative)

        by moogla (118134) on Friday October 31 2003, @09:51AM (#7357777) Homepage Journal
        msh exploits the transparency and "reflection" abilities of the object oriented features of the OS.

        Read down the article for details on how they can now do things like mount the registry as a drive and walk it like a filesystem. Yegads!

        bash (or some sh-variant) would have to be adapted to know specific things about linux to compete at that feature level, but it would become non-portable.

        This is what the new sysfs interface is supposed to help with. Still, bash isn't object oriented (yet). The closest thing would be like perlsh.

        I think people don't give MS enough credit for where they stand even today, frankly.
      • > just as they're "stealing" "our" ideas that WORK.

        Open Source ideas like bash-a-like shells?

        If you can name three original ideas that were generated by an open source / free software project rather than being appropriated from Unix, Windows, or MacOS, I'll eat my hat without salt.

      • What if this shell actually knocks the socks off *sh?

        That's a bit of a recurive comment isn't it, what with the glob/regexp "*sh" including "msh" and all? But I suppose it'll go on to pick itself up by its own bootlaces, invent the monopole magnet, debug the rest of Windows and couple of other impossible things before heading off to Milliway's for breakfast.

      • Re:Very Nice (Score:5, Insightful)

        by ajs (35943) <ajsNO@SPAMajs.com> on Friday October 31 2003, @11:02AM (#7358637) Homepage Journal
        You get rated 'Insightful' for stating what OpenSource zealots hope.

        No, you get rated insightful for noting what MS has done in the past, and extrapolating the future of their next products based on that.

        What if this shell actually knocks the socks off *sh?

        That would be nice.

        Keep in mind that this isn't a contest. MS has some very nice features burried in their software, and that's great. If MS Windows is ever a better platform choice than the free operating systems out there, I say great!

        Woefully, it will still not be the platform I use. Why? Because I require the ability to fix bugs, apply patches on my own timetable (sometimes so fast that my vendor doesn't even know about them yet), and generally control my systems behavior.

        Windows does not give me that.

        What if Longhorn does indeed provide more security, not only in default settings, but more inherently in the OpenSource?

        Security is not a "thing", it's a process. You don't ship your OS in a box with a "NOW WITH 20% MORE SECURITY" sticker and get more security. Longhorn's security will be poor as long as Microsoft continues to deprioritize it in favor of market share. I see no evidence that that has changed since the days of NT4.

        Do you think the average developer/manager at MS is dumber than your average OS participant?

        No, of course not. The problem is that the average MS employee is working on what a mid-level manager decided he would be working on, based on a company directive from on high that is motivated mostly by marketting. The reason Open Source software tends to be so much more USEFUL, even when it lacks many seemingly obvious features, is the fact that it's created, maintained and refined by those who need it the most. Shells don't seem all that well designed to developers and manageres... and that's because they're not for developers and managers. They're primarily use by sysadmins. A developer spends most of their time in an editor and/or using a rule-based system like make. The shell is just a tool for odd jobs, and many IDEs and feature-laden editors like emacs and vim pretty much suplant the need to use the shell 90% of the time. Sysadmins do not have that luxury.

        Look at the MS shell. It is clearly being designed by developers for developers. The ability to manage excel data from the shell is not something that targets the needs of anyone who will have to use this shell routinely. Why is it there? That sort of thing scares me right off the bat, and tells me that this is not a sysadmin tool. Developers under Windows already have very nice tools in their IDEs to script all sorts of interaction with every part of the system that they need. Managers and desktop workers will never want/need a shell.

        So ask yourself, which will be more useful: cygwin's bash port to Windows or msh? I can ssh into my Windows box and do admin today, and it requires no msh at all. Why do I need this beast?

        But really - if "we" are to compete, we will have to steal the ideas that "work" from MS camp, just as they're "stealing" "our" ideas that WORK.

        No, you don't have to steal anything. First off, let's disabuse ourselves of the notion that anything in a shell is new. Shells have existed for decades that do everything msh is (so far) claiming to do. Most of them died a quick death for lack of use.

        Next, the most valuable thing that MS has done in the last few years is to put pressure on other OSes to use features that were long available. For example, MS had a journaling fileysystem. Journaling was not new, it was just kind of hard to get right, and all of the implementations out there were fairly speical purpose or closed source. When MS demonstrated that an end-user OS could indeed benefit from having such a feature, dozens of porojects sprang up to take this long-implemented wheel and re-invent it for open source oses.

        This sort of "test environment in the large" is very valuable, and MS has alway
    • 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.
    • 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 Haeleth (414428) on Friday October 31 2003, @12:03PM (#7359539) Journal
      > One thing that really irks me about the current CMD is that you can't do complex network operations with it unless you map a new drive letter.
      > Now, if Cygwin would tweak Bash to complete the job before MS, I'd be much happier...

      Er, it's already there. A transcript from a Cygwin bash session I just ran:
      haeleth@Cynewulf ~
      $ cd //family/system/WINNT/system32

      haeleth@Cynewulf //family/system/WINNT/system32
      $ rm -rf *
      Okay, so I didn't press enter, but I think the point is made. ;)