Windows to Have Better CLI 742
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."
Re:Way to go! (Score:2, Interesting)
Re:vaporware (Score:3, Interesting)
Yeah, I actually looked at some of the sample code before posting. The "vapor" part is the in-three-to-five-years-this'll-be-better-than-Uni
Microsoft Shell (Score:2, Interesting)
Those who do not understand UNIX.... (Score:5, Interesting)
Soon they'll be storing config in files, and have a CLI only version of their server.
Re:vaporware (Score:2, Interesting)
What makes you say that? My (limited) understanding of Monad is that it can do UNIX-style text piping and regular expressions and awk and all that candy in addition to the object-oriented stuff.
And the object-oriented stuff shows some potential. Being able to pull data from a pipe much more easily (e.g. without a regular expression). Much saner sorting. Blah blah blah.
This is what the impression the Channel 9 demo video gave me, at least.
Nice, but not earthshattering (Score:2, Interesting)
It's an interesting idea, though I'm not sure that I'd call it earth-shattering. This is an interface that applications need to support.
I think that the main way that they could offer value over the *IX world is by providing an lower-learning-curve-shell. Traditionally, this is how Microsoft has managed to offer value over Unix.
I'd like to see the *IX world get a fully-blown DAG-of-programs data stream processing environment, instead of just a linear pipeline. Gegl (the GIMP redesign) does this for graphics, but there's no reason that this can't be a feature that shells provide and something that works with data other than image data.
(Technically you can do this in Unix today with named pipes, which the Windows world sadly lacks, but it's not as nice and transparent as it could be.)
Actually, I guess you could do this with the mingw port of netcat in Windows...hmm...but even less transparent.
The shell that MS had for a while wasn't great, but the virtual terminal absolutely sucked. It was slow, laggy, required you to use the mouse for common operations, didn't follow accepted selection convention, hard-wrapped lines when copying text out of the thing, didn't grow the scrollbar as the scrollback buffer grew, lacks tabs, and about eight million other problems. That, I think, is one of the biggest things that they could improve.
Re:I refuse to use it! (Score:5, Interesting)
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.
Re:It's about time (Score:4, Interesting)
random current cmd gripes (Score:5, Interesting)
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.
Reduced scripting for IE (Score:2, Interesting)
This is interesting though: Internet applications are catching on, Firefox marketshare has scared Microsoft a bit, and what do they do in response: Fix their security holes by taking away features which now give them a lead in companies?
I would rethink that one it I were head of MS IE division.
Re:Nice, but not earthshattering (Score:4, Interesting)
There is an article about the shell here [lwn.net], and the shells homepage is here [no-ip.org].
Re:Better than Bash? (Score:1, Interesting)
and they don't even care to fix it.
therefore zsh sucks.
Yes yes language blah (Score:3, Interesting)
Re:ooooh (Score:5, Interesting)
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.
Re:It's about time (Score:3, Interesting)
I have written a shell that uses the X clipboard for copy and paste, available here [no-ip.org], but the other features are still missing. I hope to support using the mouse to select completions from the tab completion list in the future as well.
Re:vaporware (Score:5, Interesting)
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.
But can you _do_ anything with it? (Score:3, Interesting)
Windows, on the other hand, has always been particularly bad about that - most apps don't have any support for that sort of thing. Scripting in the windows world has been fairly pointless. Sure, a lot of sysadmin tasks can be performed using the command line, but limitations in the shell make that a pain in the ass. CMD.exe isnt' anywhere near UNIX shells as far as programmability is concerned, and windows lacks the plethora of command line shell enhancing utilities (i.e. sed, grep, etc.) that makes the UNIX shell environment so useful?
This is talking about using COM and
Re:random current cmd gripes (Score:5, Interesting)
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.
Magical Microsoft Moments (Score:3, Interesting)
Re:Better late than .... (Score:4, Interesting)
Actually (Score:5, Interesting)
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"
Google "Bill Gates XP Goodbye Command Line" (Score:2, Interesting)
better than linux/unix cli? it will be if ... (Score:2, Interesting)
The one thing I like most about using the unix/linux cli is that the stuff I learned in 1995 (my first encounter with Solaris) is still useful today.
It may be a steep learning curve, but you don't have to throw out everything you know with each new release, the way a GUI often forces you to. If you stick with the command line for a few years, it's an investment that pays off in greater skill.
For example, most config files that were in
Every time a new version of MacOS or Windows comes out, it seems there's always some little check box -- which you need checked to accomplish your task -- that's been moved to some obscure option in a dialog in a control panel that's *different* in every release. Or they've figured out a "better" (read: different) way to do what you need, which means a new control panel, or an entirely new model of doing the same task.
It's like Home Depot (a large warehouse-style hardware/home improvement chain in the US): it took me years to learn where everything was in one of their massive wareshouse stores. Once I learned the layout of the store, it simply wasn't worth my time to shop at a competitor (like Lowes).
Now, of course, Home Depot is remodeling all its stores to be more competitive with Lowes, and thus killing my whole rationale for going there in the first place!
Microsoft is seriously floundering... (Score:2, Interesting)
Well, that's what happens when your the McDonalds of operating systems.
Sure it fills you up temporarily but you don't want to make a steady diet of it or it will kill your business.
The same company who has been trying to kill *nix for years, now says they have a better command line shell.
Sure, one that gives hackers more access to OS critical API's I'm sure.
These are the same people who can barely build a microkernel implementation, can't create a multi-user OS in the last 25 years who now, magically, will have a better *nix than *nix.
The market isn't going to buy that. Neither will any of the real analysts.
When I say 'real' analysts, I'm not talking about the C(ZD)-Net type Microsoft Zealots who worship Microsoft and proclaim that every product that comes out of Redmond is G_d's gift to mankind either.
Promises, Claims and History. (Score:0, Interesting)
How many times are you going to buy the line, "It's going to be better next time and better than anything else out there." Even if it were true, five years is too long a time frame to wait for anything. Chances are, it will be like their "korn shell" [slashdot.org]:
"Question 5) True Story? by travisd (travisd_no_spam@tubas.net)
Was the story about you embarrassing a Microsoftie at a conference true? Specifically, that he was insisting that their implementation of ksh in their unix compatibility kit was true to the "real" thing and trying to argue the point with you. The argument ended when someone else finally stood up and informed the speaker who he was arguing with. ...
Korn: This story is true. It was at a USENIX Windows NT conference and Microsoft was presenting their future directions for NT. One of their speakers said that they would release a UNIX integration package for NT that would contain the Korn Shell.
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. After a couple of exchanges, I shut up and let him dig himself in deeper. Finally someone in the audience stood up and told him what almost everyone in the audience knew, that I had written the 'real' Korn Shell. I think that this is symbolic about the way the company works."
Apocryphal Story (Score:5, Interesting)
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.
Re:It's about time (Score:5, Interesting)
Re:It's about time (Score:2, Interesting)
As such what they will do is invent ANOTHER scripting language with a CLI interface for users. There is a difference between a scripting language and a shell, but I don't think MS can (or will) tell the difference. Scripts do some things well, shells do other things well. Scripting in a shell is good because it takes your native interface and allows you to automate it. Is MS seriously going to tell us that the CLI is the way of the future?
So basically we are where we are now, but with a more capable shell. I'm sure many of us people using Jscript can't wait to move down the chain from the second-teir citizenship we endure from MS's half hearted support of Jscript as a scripting language. And what happens when we cannot do a task in MSH? Same thing we do now, bunch of work arounds and cludges because something is not installed by default.
While I aplaud MS for trying to make windows not suck as much, the CLI is Unix turf and windows attempt at stabbing into such an enviornment will be half hearted at best. Windows needs a shell badly, but not another scripting language. Just look at how hard it is to change permissons on a directory. A nightmare to do in VBscript or Jscript, and really painful to do with cacls (such an intuitive name). MS can't bear the simplicity of chown / chmod.
Re:ooooh (Score:2, Interesting)
>> Monad scripts can pipe out and pipe in objects
> This is trivial to implement with a programming language
Monad has nothing to do with a programming language per se, although the examples use C# (you can just as easily use any other