Computer Science Canada

MSH - it's definately worth a look

Author:  beard0 [ Mon Oct 24, 2005 1:07 pm ]
Post subject:  MSH - it's definately worth a look

Ryan Paul gives a very good overview of Microsoft's new beta command shell (MSH), available for download here.
It comes from Microsoft, but I definately think it's still worth playing with.

Author:  rizzix [ Mon Oct 24, 2005 2:08 pm ]
Post subject: 

for once! something usable Laughing

Author:  wtd [ Mon Oct 24, 2005 6:27 pm ]
Post subject: 

It looks interesting, at first glance, but its practicality is at best dubious.

There is a reason bash and other shells have inconsistencies. They makw things easier.

Author:  Martin [ Mon Oct 24, 2005 6:50 pm ]
Post subject: 

wtd, you bash Microsoft for their inconsistancies, and now you're bashing them for being consistant. Is this just because it has a Microsoft logo on it?

This isn't trying to be other shells. It's trying to take everything a step further. Looks pretty good to me, I can't find anything really to complain about. Too bad I got suckered in by Apple, I want to try this out.

Author:  wtd [ Mon Oct 24, 2005 7:34 pm ]
Post subject: 

It's not a very good general purpose programming language, and it's not a very good command shell.

Author:  Naveg [ Mon Oct 24, 2005 7:47 pm ]
Post subject: 

compared to what windows previously had it's pretty good.

one complaint i've always had about the windows command line though: the tab completion sucks! press p[tab] and it fills in the first p in the directory instead of showing a list of options. gah.

Author:  Martin [ Mon Oct 24, 2005 9:22 pm ]
Post subject: 

I really hate how capitalization doesn't matter. Linux has ruined me. Or, well, enlightened me.

Perl still wins though.

Author:  wtd [ Mon Oct 24, 2005 9:44 pm ]
Post subject: 

Martin wrote:
I really hate how capitalization doesn't matter. Linux has ruined me. Or, well, enlightened me.


Your Mac will give you a little bit of both worlds. The HFS+ filesystem is case-insensitive, but also case-preserving.

Quote:
Perl still wins though.


Perl's very nifty.

Basically, when I complain about MSH, think of this simple example:

Get a directory listing which shows hidden files. In a bash-type environment, you'd pass an option to "ls". In the MSH-style environment, what you get from the equivalent to "ls" is what you get, and then you have to externally apply filters to get the information you desire.

This is very nice and pure from a CS standpoint, but it can be a pain in the butt as well. There's something called "Huffman coding", which says that the most common of tasks should be the easiest. MSH seems to overlook that entirely in its bid to be more "sophisticated" than something like bash.

Author:  Martin [ Mon Oct 24, 2005 10:23 pm ]
Post subject: 

Or you pass options to their equivalent of ls, no?

Author:  wtd [ Mon Oct 24, 2005 10:28 pm ]
Post subject: 

No, because the MSH philosophy eschews such in favor of commands which have very minimal and uniform options.

Of course, you could probably very easily create your own "ls", but then you have a world where there are 80 gazillion verions of "ls" floating around, and there's no consistency between them.

Author:  Martin [ Mon Oct 24, 2005 10:34 pm ]
Post subject: 

You have to pipe things with linux anyway though. Yes, there's an ls -la, but what if I want to sort it by date modified or something like that?

The point is, Microsoft won't make something as commonly used as ls be 30 characters long.

Author:  rizzix [ Tue Oct 25, 2005 11:24 am ]
Post subject: 

c'mon u can't agure.... msh is not as good as the unix shells thats for sure.. i mean just look at zsh... i perticularly like it.. very customizable.. perfect interactive shell.

Author:  wtd [ Tue Oct 25, 2005 7:51 pm ]
Post subject: 

Customizability isn't even the key issue.

Yes, a good shell should be customizable, but it also needs to have enough functionality "out of the box" that one need not customize it to perform common tasks.

If you do that, then as mentioned you end up with a huge number of disparate solutions being created to address the same problem. This is the danger of building tools at too high a level.

Author:  Martin [ Tue Oct 25, 2005 7:58 pm ]
Post subject: 

I don't see what makes you guys think it won't have functionality right out of the box...

Author:  wtd [ Tue Oct 25, 2005 8:08 pm ]
Post subject: 

Microsoft's own statements that their focus is on creating a "platform", rather than specific tools.

MSH gives people all the tools they need to create a perfectly suitable "ls". I don't see why they'd go to any further effort.

Author:  Martin [ Tue Oct 25, 2005 8:24 pm ]
Post subject: 

Look, anyone can see that certain functions are going to be required to be abbreviated, so there's no reason that they'd leave out that functionality.

I guarentee what Microsoft meant was that they would offer developers a customizable platform to work on. Even if their 'ls' is at its core 30 characters long, Microsoft will have created that script and ship it with the release.

Have you actually downloaded the beta and checked it out?

Author:  wtd [ Tue Oct 25, 2005 8:42 pm ]
Post subject: 

I keep Windows 2000 Pro around for Civ 3. MSH is artificially limited to Windows XP.

Author:  wtd [ Tue Oct 25, 2005 9:02 pm ]
Post subject: 

I should note that I'd actually like to check MSH out. Not going to go out of my way and replace a stable OS for the privilege of finding bugs in Microsoft's software, though. Smile

Author:  goomba [ Wed Oct 26, 2005 5:38 pm ]
Post subject: 

Sure, its syntax, built-in scripting language and philosophy might be nice, but the real question is does it have full control over win32 processes, and can you control and configure the OS without using the GUI tools? Will it be possible to ssh into a windows box and configure and manipulate it entirely from the command line?

Author:  wtd [ Wed Oct 26, 2005 6:36 pm ]
Post subject: 

goomba wrote:
Will it be possible to ssh into a windows box and configure and manipulate it entirely from the command line?


No, and it's not MSH's fault, but the bad situation remains.

Windows has no true equivalent to the *nix terminal mode. Ever wonder why you can't (easily) resize the Command Prompt window within Windows, or why it uses weird window decorations in Windows XP? It's because that window is a dirty, dirty hack. MSH will be no different in that regard.


: