Jason Nadal

Restless C#ding

Codename "MONAD"

In one of the most overlooked cool things at the PDC (in my opinion, anyway), the new Command Shell that will be in Longhorn blew me away when I saw it.  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.

First off, file aliases are possible.  WinFS type queries are possible through new commands called “commandlets” that you can write.  Similar to the unix pipe, you can do this with MSH (Microsoft shell / codename MONAD) as well.  Query results are actually .NET objects, so you can do things like (Don't quote me on the syntax; I'm working from memory here):

$p = get/process FileName
$p[5].ToString()
foreach ($p) { $p.ToString() }

A rather simple example, but consider that you can do this from the command line!

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.

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!

I was all set to post that I had attended DOS's funeral after the keynote on Monday, but I wasn't prepared for what was being created to replace it.

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!

Comments

David McGhee said:

What we will need next is intellisense for the command line!
# October 29, 2003 5:18 PM

Jason Nadal said:

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.
# October 30, 2003 1:33 PM

Greg said:

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

Nice leep frog MS...
# October 30, 2003 5:18 PM

TrackBack said:

# October 30, 2003 6:38 PM

Daniel O'Connell said:

If they add intellisense, I wonder if they will add support for console apps via xml or something...That would be nice as well, I played the concept at one point but without more underlying access to the system console it wasn't possible to do in any serious manner.
# October 30, 2003 8:45 PM

Jason Nadal said:

I did see a GUI editor for MSH scripts; They did say something about possibly adding support in VS for intellisense. I imagine something like the right-click & run query for database projects in VS2003. Only "Run Command" instead.
# October 30, 2003 8:55 PM

Daniel O'Connell said:

Its possible, I think intellisense should be, optinonally, supported directly into the prompt, unfortunatly as best as I can tell MS has to do it.
# October 30, 2003 9:23 PM

Jason Nadal said:

I think it would be difficult to do a graphical popup, but perhaps they could use bash-style tab completion. Say for instance, I typed "get/" and hit tab, it should list all of the available nouns that I could put after the get/ verb.
# October 30, 2003 9:40 PM

Daniel O'Connell said:

I don't think it would be too difficult if they abandon the old console code. A console is, at its roots, a text buffer with speicifc properties, by this point it really needs to be upgraded for various other reasons, I don't think it is out of reach, but more a matter of if they are willing to put the effort in or not.

However, tab completion would be acceptable, sometimes scripting gets to be rather complex and any shortcuts or helpers are valuable. I am really rather curious what all they can manage
# October 30, 2003 9:48 PM

Jason Nadal said:

Actually, this is all new managed code. That's what allows you to have everything returned as .NET managed classes. If you want the old console around, you can use it. However, if you want the GUI, or your own app with text-completion / intellisense, you can make it in managed code, and really it's just calling MSH behind the scenes. Really cool stuff...
# October 30, 2003 9:56 PM

Daniel O'Connell said:

So I suspected, but I havn't had a chance to play with it yet(Hopefully soon), its a matter of what kind of extensibility exists. Point is it should be possible, and probably not to difficult in that case, to provide a graphical popup(considering the shell probably exists in a window of its own), however its more a matter of if anyone will do it or not. Possibly within the msh it will be possible where it wasn't possible to write a app that could do that with the old console.
# October 30, 2003 10:20 PM

Daniel O'Connell said:

Also, when I said console i meant the console itself, not cmd.exe, but the console backend.
# October 31, 2003 12:56 AM

doug reilly said:

Excellent post! I think you are right about it being the most neglected feature at PDC. Can't wait to play with it!
# October 31, 2003 1:07 AM

McGroarty said:

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.
# October 31, 2003 9:27 AM

Thunderbird said:

<i>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. </i>

Seriously... you wrote C apps? Ever heard of, say, Python?

How ever hard MSFT tried, it will never catch up on Unix-alikes. You can throw a million dollars worth of sugar coating on a pile of shit, and it still remains a pile of shit.


# October 31, 2003 9:39 AM

Jason Nadal said:

Currently, there's both cmd and msh. MSH is currently v. 0.3

It will be supported for Win2003 and XP as well as longhorn. And it actually is msh.exe
# October 31, 2003 9:39 AM

chromal said:

Ewww. I'll take /bin/bash over that gobbledygook, thank you very much.
# October 31, 2003 9:40 AM

nobody said:

Microsoft innovates the bash shell. What is that quote about reinventing Unix...
# October 31, 2003 9:40 AM

McGroarty said:

p.s. -- I can hardly wait to see the name of the GNU version. MONAD... G...?
# October 31, 2003 9:43 AM

John Carter said:

they more they deny Unix is dead, the more they imitate it - way to go MS.
# October 31, 2003 9:45 AM

SLK said:

After adding "X-Windows" features to his OS, MS is about to add .... a shell <:o)

More thant 30 years after Unixes !!!

I love innovation@microsoft.... what will be their next thing : write a java like portable platform with a new object language ? ;-)

LOL !
# October 31, 2003 9:46 AM

Brew said:

Hmmm, why don't they just but rights to /bin/bash. It's an excellent shell script and would fit into the M$ model well. What is new is old. ;p
# October 31, 2003 9:49 AM

llamas said:

Um, this looks a lot more like a general purpose scripting language (with objects and the whole deal) than it does bash. Stop trolling.
# October 31, 2003 9:50 AM

nobody said:

Exactly McGroarty; what uses what shell and with what capability, and how do you keep it all straight, and how long will it be before everything you use is shell-aware? Great for the computing newbies of 2009, but by then we'll all be doing somthing else; No thanks, I'll pass.
# October 31, 2003 9:51 AM

AMABITxS said:

Microsoft trying to copy *nix. Imitation is the sincerest form of flattery. I guess those ms developers finally figured out *nix is better!
# October 31, 2003 9:51 AM

PWRXS said:

Note that this page hit Slashdot @ 9:33 AM.

I now introduce to you a barrage of MS-bashing..

(Quite predictable, really)

# October 31, 2003 9:52 AM

Andy said:

the current cmd.exe does commandline completion - not true intellisense, in that I hope you'll be able to 'tab' through all commandlet parameters, with their syntax handily displayed.

You want TweakUI to turn on cmd line complation or HLCU/software/MS/command processor/completion char - set to 9, restart cmd.exe

Someone said 'unix is dead then they imitate it'.. well, MS has has simple completion and pipes, and command-line programs like unix for years, now they're doing something far, far more powerful.
# October 31, 2003 9:53 AM

McTroll said:

It is now official - Netcraft has confirmed: IIS is dying

Yet another crippling bombshell hit the beleaguered Microsoft community when
recently IDC confirmed that IIS accounts for less than a fraction of 1
percent of all servers. Coming on the heels of the latest Netcraft
survey which plainly states that IIS has lost more market share, this
news serves to reinforce what we've known all along. IIS is collapsing
in complete disarray, as fittingly exemplified by failing dead last
[samag.com] in the recent Sys Admin comprehensive networking test.

You don't need to be a Kreskin [amazingkreskin.com] to predict IIS'
future. The hand writing is on the wall: IIS faces a bleak future. In
fact there won't be any future at all for IIS because IIS is dying.
Things are looking very bad for IIS. As many of us are already aware,
IIS continues to lose market share. Red ink flows like a river of
blood. ASP developers are the most endangered of them all, having lost 93% of
its core developers.
# October 31, 2003 9:54 AM

Chris said:

You can run, but you can't avoid Slashdotting ;)
# October 31, 2003 9:55 AM

Joe7Pak said:

I don't see any M$ bashing.
It's nice to see M$ get away from the "you will do it only one way" mentality.
# October 31, 2003 9:56 AM

CyberWolf said:

Ok... I had done every thing they say in that report for about a year...
And that in windows! Using Bash and python ported to windows...

Whats the news here?!
# October 31, 2003 9:56 AM

Bill Pechter said:

Man... does this look like DEC DCL on a VAX?


$p = get/process FileName
$p[5].ToString()
foreach ($p) { $p.ToString() }
# October 31, 2003 9:56 AM

Anonymous Peon said:

Not bad. (As in: Get rid of the worst of the monopolist baggage and popup annoyances in the default installs - MSN Messenger, etc. - and I will manage to enjoy this when I'm forced to. You know how it is. ;))

"One last thing: anything can be mapped to a drive, and drives don't just have to be letters." -- So was this a conscious effort to copy the Amiga, or did it just work out that way?
# October 31, 2003 9:59 AM

Desmond said:

This is THE definitive tool that was long-awaited by virus creators :-(

If we trust the casual MS security level, this new CLI will allow modication of public classes and lead to hell.

One of the most efficient shelter against non-binary viruses was the poor shell of MS OSs... since they needed high level apps (MW, EXL) or interpreter (VB) to release their lethal load!

Not any more :-(

"It is not a bug, it's a feature." (tm) M$

Alas !
# October 31, 2003 10:00 AM

McGroarty said:

What's all this about Microsoft bashing, PWRXS? This isn't Microsoft bash. This is a new shell. Please read before posting, tiny-minded confused-person!
# October 31, 2003 10:02 AM

John said:

"How ever hard MSFT tried, it will never catch up on Unix-alikes. You can throw a million dollars worth of sugar coating on a pile of shit, and it still remains a pile of shit."

Hmm, okay, let's say they sugar coat every layer of the pile of shit, then won't the pile of shit now be a pile of sugar? Unix is elegant in a lot of ways, but microsoft can replicate or even improve most of these features. If you don't believe that then maybe you need to read abit more about OS design, and realize that it isn't that crazy. There are good things about windows nt+, but judging by your post you either A. don't know anything about them or B. don't want to acknowledge them. Do I think that microsoft will make their stuff as slick and nice as UNIX? Maybe. This longhorn release of windows sounds a lot like they are making some pretty big moves. We'll just have to wait and see.
# October 31, 2003 10:03 AM

Stephen Booth said:

Looks like Korn shell with a few tweaks. Oh well, if you're going to nick stuff you might as well nick it from the best.
# October 31, 2003 10:03 AM

Jerry Haltom said:

Here's what I'm curious about. Fellow .NET knowledgable people: They are taking code, compiling it to IL, and then maybe JITting it, as you type it. Does this not involve the overhead of a VM? Of course it does. Are they going to leave a VM laying around in memory all the time, or will you have to deal with startup times on your console. A VM is about 10MB. What about hte overhead of compilation/JIT.

One of the great things about the Unix shell is it's extremely small footprint. It takes just under a mb for me to launch bash. Can they get an entire VM in just under a MB?

And yes, lets not have that "but hardware is cheep" argument. My SQL servers are OUT of memory, they have 2GBs. This is rightfully so, as they cache EVERYTHING they can. Unused ram is wasted ram. But it means I have to sacrifice 10MB of that for a console.

I don't see that as a fair trade YET, at least not when they're is a competitor that doesn't require it.

# October 31, 2003 10:04 AM

tony kwong said:

Beanshell anyone? http://www.beanshell.org/
But then it is Java code that runs on many platforms NOW. That obviously makes it inferior to vaporware.
# October 31, 2003 10:06 AM

Linus said:

<i>It's nice to see M$ get away from the "you will do it only one way" mentality.</i>

Well, as long as you do it <i>their way</i>, sure. This is still re-inventing the wheel. Albiet it, that wheel now runs on all monster trucks. But that begs the question: Do I really need a monster truck to drive to the office?

Think I'll take the subway instead. It's efficient, proven, pollutes less, serves the greater public at large, and just makes sense.
# October 31, 2003 10:06 AM

csoto said:

This is great. Long a reason why I prefer Unixy environments. The talk about a GUI is sort of a step backwards. We want something very useful from a remote, textual environment (a la ssh and bash on Linux).

# October 31, 2003 10:06 AM

McGroarty said:

Jerry Haltom --

I'd like to suggest you enable virtual memory on that SQL server. Then it won't MATTER if the shell is 10mb since when it's not being used, it's quite nearly 0mb.

My consulting fee is in the mail, love.
# October 31, 2003 10:08 AM

Bill Sterling said:

Wow! This looks like a really great innovation from Microsoft! I'll let my developers know to keep an eye on this one.
# October 31, 2003 10:09 AM

some guy said:

"Those who do not understand *nix will reinvent it."
# October 31, 2003 10:09 AM

2 Bits said:

I have to agree that it looks like the virus creators are going to have a field day. I predict that Longhorn is going to get kicked right in the Monads.

"Those that don't learn UNIX are doomed to reinvent it.......poorly."
# October 31, 2003 10:09 AM

Toshiaki said:

10MB of less than half a percent of that 2GB of memory. I doubt it's making an impact. Waah~~
# October 31, 2003 10:09 AM

Alex Holt said:

While all developers will love this new Command Line interface, Sys Admin now have a new security worry....
# October 31, 2003 10:09 AM

h8 said:

I hate m$ as much as the next guy and love writing scripts in bash etc (at home).
But there are always going to be M$ systems I have to WORK on and if they have MONAD I would be a hell of a lot happier.
# October 31, 2003 10:10 AM

McGuy said:

Dozen messages back some guy trolling passed an article full of lies. Here's a current back down on server usage:

http://news.netcraft.com/archives/web_server_survey.html

People have to realize that straight up lying only makes people tune them out. If you seriously want people to listen then state facts. And another problem is you get your follow supports to read your crap then talk about it like fact - then made to look like idiots... oh, yeah, so maybe continue that. I like that.
# October 31, 2003 10:11 AM

angoranimi said:

finally there will be something decent to spawn.
# October 31, 2003 10:12 AM

MrSelfDestruct said:

cygwin works fine. kthxbye
# October 31, 2003 10:12 AM

Matthew said:

" Take that, dirty Linux hippies! Take that, Thieving Macintosh Republicans! "

- {snicker}

MS is not so smart. There are already very user friendly distros of Linux that offer all of these same tools for free. Microsoft is throwing millions at re-creating (cylce testing) all these tools - which will cause them to look towards ROI (more sneaky and market manipulation tactics required).

Basically they are plotting a migration path for their customers to Linux and I can't figure out why. You see, the average manager/CIO will spend thousands of dollars implementing Longhorn just to discover that the same tools are available in a free tool. Game. Set. Match.

-Matt
# October 31, 2003 10:15 AM

Casey Marshall said:

If you need a decent CLI interface to Windows, there's already a better alternative: <a href="http://cygwin.com">Cygwin</a>!

MS should focus on what they do best, like the UI or the .NET framework. Their CLI historically has been a hack (it looks like DOS, but it's not!). Why should they reinvent the wheel when there's bash? Too much pride? Would having a POSIX shell make Windows too similar to OSX?
:)

What would be awesome is if Microsoft actually partered with RedHat to add WinFS and Indigo support to Cygwin. Of course, that would mean MS working with GPL code! What am I saying?!

Casey
# October 31, 2003 10:16 AM

TomH said:

I've been doing the euqivalent on Windows and Solaris with TkCon/tclsh for years.
# October 31, 2003 10:17 AM

Batgar said:

"Good artists copy, great artists steal"
-- Steve Jobs paraphrasing Andy Warhol

MSFT is not blind. They see OS X 10.2 (and OS X 10.3), Mandrake 9.x, RedHat 9.x, and they know where the bar is set.

MSFT has something that even Apple doesn't have: $40 billion cash.

MSFT can afford to create ANYTHING. The Longhorn command line is only the beginning. What little we have seen and heard of Longhorn is only the beginning (ex. WinFS). Remember: MSFT has been planning the major features in Longhorn since 1993 (ex. Cairo). MSFT is going to release Longhorn in direct response to the threats posed by Apple and the Open Source community. MSFT doesn't respond to percieved threats with a "fly swatter attack" they pull out the 80 megaton nuke and say "Come Get Some!".

Never underestimate Microsoft. The .NET technology suite should remind you that, when threatened, MSFT brings out the heavy stuff against that threat.
# October 31, 2003 10:19 AM

me said:

The thing that I really find funny, is the fact that MS tends to leave shit out of their OS, that MANY other OS's have in by default. Then, they throw some sort of half assed, half working, buggy piece of crap at their users, and then they think it is somthing totally brand new and cutting edge. Hell, Windows went SO LONG w/o being able to ADMINISTRATE the damn server from the command line OR having commands like grep, that when I was at the release party for 2k3, they said "..and now with win2k3 you can use tools like grep!". Half the people cheered, half wondered what the hell grep was. I broke out laughing so loud and I fell on the floor laughing clutching my stomach because it hurt so much to laugh so hard. Try switching off of MS products. It works. You just have to ween yourself away from it. I had a Win box set up specifically for work, and it only took me getting a power book to finally get rid of it. MS is a fucking joke, and now people are just starting to realize.
# October 31, 2003 10:25 AM

A non-zealot said:

I'm a Slashdot regular, but damn, there are a lot of trolls here. For shame, zealots, for shame.

Anyway, this is cool stuff. Yes it's "been done before" (epistemologically speaking you could say that about a lot of software), but what is important is 1) what MS had before, well, sucked 2) this is not your father's bash, this is integrated into the system platform/library itself. While bash/ksh are really nice and provide some high level programming features, that is nowhere near complete platform integration. Beanshell would be closer, but tell me, who is running a Java OS? Nobody. The integration is just not there (note: I am an enterprise Java programmer, and I use Beanshell frequently). Show me your bash/ksh doing native system calls and GUI hooks (I strongly suspect this sort of thing is/will be possible with MSH, given that it is apparently all running on .NET/CLR). To quote Dana Carvey doing Bush "na' genna' happen". The next most similar thing would be, oh, a python shell or something.

Damn, at least be happy MS is doing something (anything) right. For all the crap flung at .NET/CLR, it is a gigantic step forward, and I sincerely wonder how Linux and Open Source on the desktop are going to tackle the mounting integration in the Windows platform (even if you accept that anything Microsoft is evil, the question still remains, what do you have to show to the user to meet the (potentially perceived) value). Mono is a good start, and KDE boasts tight integration within its own scope, but for Linux to be a usable desktop it needs more...perhaps FreeDesktop.org, etc., can forge a unified direction here. Part of the problem is the "old school" being resistant to anything new - that will strangle Linux on the desktop.
# October 31, 2003 10:26 AM

MicrosoftSkull said:

Microsoft sucks and has to steal ideas and work on other peoples implementations to try to stay in the lead.
# October 31, 2003 10:27 AM

malfunct said:

I think the changes to the windows file system goes well beyond leaving drive letters behind. If I understand the presentations correctly they are leaving the idea of file location behind. The file can reside anywhere and that doesn't matter, the key is what the file is. You search through stacks of file based on what they are as described by the metadata. Moreover it looks like all of the metadata is indexed so that these searches don't have to scan the entire hard drive. I think it will be cool to open up explorer, ask for all documents relating to development project 1, and having them all found in no time at all regardless of where they lie, whether its random locations in my filesystem, or in some other filesystem or network that you asked windows to keep an index on. My only hope is that it really works, maybe we need to wake for longhorn 3.0 before we really get excited.
# October 31, 2003 10:28 AM

Nix said:

While all developers will love this new Command Line interface, Sys Admin now have a new security worry....

Zackly. Virus heaven...help me Obi Wan etc
# October 31, 2003 10:34 AM

iobuffa said:

"I walked up to the booth asking if unix-like file aliases" ... "..Similar to the unix pipe, you can do this with MSH.."

Yup, UNIX is the real thing. Microsoft knows this. I don't see this as any better or worse than bash/ksh.. probably because I haven't used it yet. This is a good thing for Microsoft developers... or are they converted UNIX developers? :) Goes back to the old argument that UNIX developers are better than Windows developers. heh heh. Don't flame me, was just a joke.
# October 31, 2003 10:39 AM

Cthulhu said:

The problem with too much integration, of course, is that MS might be accused of not respecting the term of the various Anti-trust settlements it's bound to...
# October 31, 2003 10:41 AM

MxCl said:

I'm a so called "linux-hippy", this sounds a lot more innovative than anything I'm used to. If it lives up to the hype this guy has created I will be most impressed.

Also this is great because *nix shells have stagnated in recent years without anyone seemingly encouraging new features or functionality. It won't take long for this kind of competition to push the shells I use into new leagues of functionality.
# October 31, 2003 10:41 AM

Stephen Booth said:

FAO "A non-Zealot"

Not sure about other shells or other distros but KSH on both Redhat and SuSE has been able to do both for at least 4 years now.
# October 31, 2003 10:47 AM

eluusive said:

Finally, Microsoft does what apple has been doing with OSAscript for years. WOW! You have to admit that bash and csh are both lacking in quite a few areas when it comes to writing robust scripts.
# October 31, 2003 10:48 AM

Smitty said:

Now all they need is to open source the OS, provide me with the ability to fully customize every aspect of my system, basic network tools, some sort of meaningful support, stability, BASH, some sense of personal security....hmm...
# October 31, 2003 10:51 AM

Future Shock said:

As someone who has been working in PCs since CP/M-80 professionally, let me say that I am impressed. Not as impressed as I would have been if they had done this 10 years ago, like they should have, but still, very impressed. There have always been the add-on shells that have improved the old CLI, but being an add-on were of limited ability. Imagine being able to assign the registry as a drive and treat it as an I/O device! Export to/from XML, et al! Face it, MS has really done something developer/power user friendly. As for this being a rip-off off other systems, I find that funny coming from a bunch of Linux lovers WHO'S WHOLE OS WAS A CHEAP DIY COPY of real Unix...talk about derivative works with little imagination...
# October 31, 2003 10:54 AM

A non-zealot said:

RE: Stephen Booth

"Not sure about other shells or other distros but KSH on both Redhat and SuSE has been able to do both for at least 4 years now."

I'd appreciate any links or references, that is very interesting if true.
# October 31, 2003 10:54 AM

m0psy said:

"Hmm, okay, let's say they sugar coat every layer of the pile of shit, then won't the pile of shit now be a pile of sugar?"

If I take a bucket of sewage and add a thimbleful of wine, you know what I get? A bucketful of sewage. Conversely, if I take a bucket of wine and add a thimbleful of sewage, you know what I get? A bucketful of sewage.

Cheers.
# October 31, 2003 11:00 AM

.NETless said:

.NET? WTF is that? ;-)
Seriously, is anyone actually using .NET for anything?
# October 31, 2003 11:04 AM

kolla said:

GNU version?

GOMAD
# October 31, 2003 11:05 AM

Mercer said:

While I applaud Microsoft at its choice to put some lovin' into the command shell, I feel that it's only fair to mention that <A HREF="http://www.gregorpurdy.com/gregor/psh/">The Perl Shell</A> has existed for quite a while.Of course, MONAD implies tighter integration with the underlying system, and this can only be a good thing.

I've always made a point to note that while Windows improves, it's console has remained what it was since the 80s. I'm glad to see that they have finally decided to address the console.

# October 31, 2003 11:06 AM

Another man said:

Map the registry to a drive? Is that an invitation to hackers to screw up your machine? :? I guess if they can scew you now anyways, it really doesn't matter.
# October 31, 2003 11:08 AM

gnonad: linux replacement for msh said:

Who wants to (or rather doesn't :| ) start the gnome replacement for MSH. Its gotta be called GNONAD. It makes sense really...
# October 31, 2003 11:09 AM

Happy said:

I'm a UNIX user, and I'll admit it: bash really sucks. Everyone keeps arguing about how great it is and how it never needs to change, and the end result is something that's horrifically outdated. Before blindly flaming, re-read the original article. This is a much more sophisticated shell than bash on all counts.
# October 31, 2003 11:10 AM

Gilligan said:

Oh wow, now we can have a useful shell in Windows! Oh wait, Cygwin gives me bash, zsh, etc already. And UNIX has for years. I can't believe MS has been sitting there with cmd.exe for so long when every other OS had usable shells for years. Hell, even sh and csh are more powerful than cmd.exe, and those are older than I am.

But seriously it'll be nice to have something better native to the system. I'd be nice if MONAD would be a bit more like the UNIX shells instead of a different beast altogether though. Difference for the sake of incompatibility is stupid - and common at Micorsoft. At least there will be a few neat built in to the shell with .NET and MS file formats (whether they should be built in or external program is another matter I guess, but oh well).
# October 31, 2003 11:20 AM

Joeseph Troll said:

who need gonads? Oh, monad, my bad...
# October 31, 2003 11:24 AM

Dom said:

as a linux user i see this as a good thing

as said before, giving windows devvers a shell like this means at least more semi-portable code. this puts them back in a unixy way of thinking, which will make apps easier to port over to *NIX (in theory of course im sure MS will think of some way to lock it in)

what bothers the majority of linux people is not that this kind of thing has been around and has been incredibly useful for 30 years, nor the fact MS came up with something like it and thinks they're the all seeing all dancing crap of the world for doing it, but its on one hand they say '*NIX is obsolete' and they turn around and release something based entirely upon it.
# October 31, 2003 11:26 AM

steve said:

they are trolls, they care not about facts.
# October 31, 2003 11:29 AM

Someone said:

Yes, it's Just Another Scripting Language(TM), but it would have been nice if Microsoft just used the REXX stuff years ago. After all, it was in OS/2 and Windows NT was originally called OS/2 NT. They already support *.cmd files in NT based Windows...

It's "not another shell" to me. Although the shells for UNIX is not perfect, it is well known and powerful. In my opinion, they should just base their new shell on something which is in wide use, such as BASH and modify it for use in Windows.

It would be nice to have something similar to pgbash (bash for PostgreSQL).
# October 31, 2003 11:32 AM

Bob Smith said:

Imagine: mount registry as an I/O device, import pre-hacked, exported to XML registry, instant hacked computer!! Sweet! Thanks Microsoft!
# October 31, 2003 11:35 AM

bert said:

Heh heh heh.
I cannot wait to see all the point and click brigade when faced with a CLI. Shame they're not getting rid of the "my first computer" GUI while they're at it.
# October 31, 2003 11:36 AM

A non-zealot said:

"Yes, it's Just Another Scripting Language(TM)"

No, it's not Just Another Scripting Language. The point is that it runs on .NET/CLR which gives it immediate and native access to the <i>entire system API</i>. That is not something your typical standalone created-from-scratch scripting language has. The trolls in this thread seem to be along the lines of "MS HAS CREATED A CAR! H4R H4R STUPAD MS, COPYING OUR WHEELBARROW THAT HAS WORKED FOR 30 YEARS!"
# October 31, 2003 11:39 AM

majortom1981 said:

just a piece of info .Microsoft used to develop things for unix . lol i know its funny. i used to work for a company that bought software that microsoft was developing for unix.You never now what is in unix now that microsoft put there lol. look into a company called proginet lol.
# October 31, 2003 11:43 AM

georgebush said:

To Panama77:
well yes, he _did_ get shot at the end of the episode but you cannot be sure he was shot _dead_, and i'm pretty sure he wasn't cause it would make the script pretty difficult to continue

To B4rt51mp5on:
maybe you's like to know that the guy who originally invented the series has been fired, that's why they feed us such crappy episodes lately!

Wait... what's this? Another Microsoft forum?

WELL PHUCK MICROSOFT, FREE KEVIN, LINUX RULEZ, we cant get infected by vbs viruses ahahahahah
More slashdot fun for everyone :D
# October 31, 2003 11:43 AM

A non-zealot said:

I don't know why I am wasting my time defending MS here, but these are really awful trolls:

"Imagine: mount registry as an I/O device, import pre-hacked, exported to XML registry, instant hacked computer!! Sweet! Thanks Microsoft!"

Imagine: tar -xf myhackedetc.tar /etc

Sweet! Thanks insecure OS!

Uh, wait, you can't do that because of security restrictions. Although MS is typically awful on security, I'd like to at least give them the benefit of the doubt on something as naive as this.

A more functional system universally implies more security exposure, regardless. And just because the Inix security model works, doesn't mean it's anything necessarily to proud about, as it is rather primitive, and I'm sure all the various ACL systems being proposed will introduce similar issues into *nix.
# October 31, 2003 11:45 AM

ProfessionalCookies said:

Ok ok...Say you're in this MSH and you're copying a 17 meg file...
# October 31, 2003 11:47 AM

majortom1981 said:

I find it really wierd microsoft had a lot of experience with unix. Even had password security software for it. But they sold it off. Now why didnt windows have more unix like security and stuf in it already?I was amazed when i worked for proginet that they bought unix software from microsoft.
# October 31, 2003 11:48 AM

b1llg@te5 said:

the GNU version will be codenamed "GONAD"
# October 31, 2003 11:48 AM

Jules said:

> Seriously, is anyone actually using .NET for anything?

Erm, yes. Not as much as it will be in the future (a lot of people are holding back because of compatibility issues with older OSs, but those will fade away to background problems in time, just like I don't really worry about the fact that I write applications that won't run on Win95 any more), but still quite a few.

.NET is actually pretty useful: a managed code environment, giving you similar advantages to Java (and, yes, a lot of code will run cross platform), plus the ability to compile directly to native code when performance is critical.

In the next year or so, my guess is it will almost entirely replace VB for rapid development of Windows applications.

> Not sure about other shells or other distros but KSH on both Redhat and SuSE has been able to do both for at least 4 years now

I've looked through the KSH manual, and can't see anything relevant. OK, there's a plugin API which would allow you to write plugins to perform this kind of work... is what you're referring to a plugin of some kind?
# October 31, 2003 11:49 AM

Unix Guy said:

Windows sucks.

QED.
# October 31, 2003 11:50 AM

Gabe said:

For the guy that mentioned that it looks a lot like VAX, well remember Microsoft hired a bunch of people from DEC a while back, actually a lot of the WinNT components come from the VMS/VAX era.

anyway, i dont see why people get exited about marketing hype such as .NET and all this other crap.
# October 31, 2003 11:56 AM

Zapperlink said:

Microsoft would clone Unix with its own minor tweaks if it could get away with it legally. They are more concerned about keeping with the "oooh it looks perdy and plays my games too" scenario. Don't get me wrong. This concept is great for designing ma' and pa' programs but when it comes down to it.. programmers need to care less about how perdy it looks and if the consumer is going to find the product with a thousand bells and whistles.. and just stick to strong, stable and efficent programming...
# October 31, 2003 12:07 PM

Everyone said:

Macroshit are totally retarded anyway.
# October 31, 2003 12:13 PM

Xeph said:

Haha. This is just another ploy to imitate a *nix-like environment. Micro$oft know's they're losing the market, so they're going with the flow: If you can't beat 'em, join 'em.

~ Xeph.
PS. Nice Blog. Got to it via http://slashdot.org
# October 31, 2003 12:17 PM

Dak said:

Welcome /. Readers. Hi CowbowNeal :)
# October 31, 2003 12:17 PM

huh boy said:

You Windows guys seem to be rather easily impressed.
# October 31, 2003 12:21 PM

Ethan said:

The codename "MONAD" is retarded. What the hell does a <a href="http://www.abercrombiegroup.co.uk/~noel/research/monads.html">Monad</a> have to do w/ a command line shell?
# October 31, 2003 12:33 PM

3seas said:

Ok, what to many fail to understand is the sum total and what it means, that MS is working towards.

The Common Language Infrastructure (CLI #2) is a sum of most all programming concepts and datatypes then integrated into a non-conflicting package so that most any language can be translated into the Common Intermediate Language (CIL) and run on a run time engine. This unifies all programming languages. But also another part of .NET is that of Inter-Process Communications (IPC) and there is also direction towards standardized GUI functionality. Then Add in this Commandline Interface (CLI #1)...

(CLI #1) + (GUI) + (IPC) = the three primary UIs which is like paint having three primary colors, for which you can create any color in the spectrum. Take away one and you greatly limit what you can do... ok..
using these three primary UIs in processing the (CLI #2) it becomes possible and probable that an autocoding environment can and will be developed.
additionally by adding a voice to text interface to the CLI #1 you can achieve the ability of the end user/consumer to ask for a program to be created and the system will do it.

by patenting it..... all your base will be owned by MS... do a google search in "autocoding" and be sure to set aside any arrogance and ignorance you may and probably do have.
# October 31, 2003 12:34 PM

Lobo said:

I am a troll, I don't care about facts!

Seriously, do you think we are stupid just because we run another OS than what conformist yuppies want us to do? Reality is plastic per se, dude...

Regarding M$' CLI: If this is anything like "Unix Services for Windows", I'll laugh even harder.

And to the guys and dolls who believe bash et al is a simple and ancient scripting medium: $man bash

Care to explain what "Monad" can do on top of what is already available in scripting? Manipulate the registry? BWAAHAAAAHAAAA!!!!

*nix all the way, baby!
# October 31, 2003 12:41 PM

James said:

Two things:

First of all, the GNU version will undoubtedly be named "MOGNAD."

Second, a shell does not a *nix make. If they actually employed some *cough* memory management in an operating system for once, that'd be one thing. I think this will be a good thing for Windows power users who don't get freaked out by white text on a black background, but a shell doesn't make a system good.

</$.02>
# October 31, 2003 1:27 PM

linux said:

linux
# October 31, 2003 1:32 PM

b0lt said:

Heh, pathetic. The Bourne Again SHell (BASH) used by most Linux distributions has supported that for years. I agree with all who say that a shell does not make a stable operating system. Micro$oft has put Command Prompt in their operating systems for years, and it is quite obvious that adding a 'better' one will not help.
# October 31, 2003 1:39 PM

ur mama said:

I have no opinion on this.
# October 31, 2003 1:40 PM

vj said:

The command line is the most powerful tool ever known. I have worked on Telnet(80X24) applications more than the newer GUI trend, for a long time.
A Console application has, is and always will support tens of hundreds of more users than a GUI application.. primarily because there is only 80X24 = 2KB involved in each transaction.
I have seen a CICS Application handle over 10000 concurrent users... something which only a super-web-server could handle.. and IIS is certainly not one of them.
If people had concentrated on the Console as opposed to the GUI, mankind would have achieved more with computers than they have now.
I am Happy for MS. If they finally are taking the command line seriously, they will make it great for Server Side developers like me and a trillion others who would agree that a <page down> is easier than a scroll bar.
Go Command Line!!

When In doubt.. Code.
VJ.
# October 31, 2003 1:45 PM

Eric Kenny said:

Wonder why they picked a name that sounds so similar to Gonad?
# October 31, 2003 2:15 PM

Qwerty Asdf said:

It seems that Microsoft is slowly moving to UNIX, just like Apple did with MacOS X.

If Microsoft release a Windows skin for Linux/BSD, they'll have the most secure Windows ever!

This will be good news for MS users, and for the industry as well.
# October 31, 2003 2:15 PM

QSC said:

A decent CLI is good news for Microsoft admins, as they'll finally be able to manage hundreds of computers without all that point-and-click.

You know, Real Men Don't Click... http://isg.ee.ethz.ch/tools/realmen/
# October 31, 2003 2:21 PM

Zaz said:

Graphical interface or command line? Use both!

That's how Unix admins have been working for the last decade or so.

It's really nice to see Microsoft implementing this feature in 2005 or so.
# October 31, 2003 2:25 PM

xxx said:

#\c:\windows\shit\MONAD.EXE
$name = "Gates"
$amimal = "Goat"
print $name + "sucks + $amimal
# October 31, 2003 2:48 PM

Dr. TOBOT said:

Hello !! I am Dr. TOBOT !!! and when I hear "MONAD" I think "PUERLY FUNCTIONAL" , but, where is the functions??
# October 31, 2003 2:49 PM

Dan said:

Hmmm... Another one visitting from ./
And now that you know that part... I guess I don't have to state my OS preference... ;o)

I'm not writing to let you all know why I don't like Microsoft or there OSes (trying to be diplomatic here...)

What I DO want, is to paint a picture of why some (i.e. me) would prefer ANY *NIX over Windows *

I have been using Windows as my only dev platform for some time, because my job forced me to... Now I'm 100% back on *NIX.
I'm a "the-best-tool-for-the-job"-type so I have been giving Windows a fair chance to prove itself to me... several times...

This is my personal experiences and choices and may not apply to many, but I just had to show people, that there is reasons to use *NIX other than "because Windows sux and Microsoft sucks and Bill killed my cat!"...

First of... Microsoft actually comes up with tools and stuff that still don't exists for *NIX... i.e. Internet Explorer has been a pain in the ass for web developers for years and years... definetly!... BUT... you don't find a browser for *NIX that can keep up with the speed of IE, and still it doesn't care much about your spelling inabillities when it comes to HTML...

I haven't found any cool IDEs for any languages, that is as smooth and nice to work with as Microsoft's Visual Studio for .NET...

I probably won't find any shell that will provide me with a deep integration that the MSH has...

- Well then... why don't I just switch???!!!

My closing procedure:
Let me remind you... Longhorn has (again) been prosponed... This time to the year 2006!... This is, with nice margins, at least 2 years away...

Meanwhile you'll be stuck with the command.com and cmd.exe.
Or you could use cygwin for the powers of *NIX...

What about the IDE example... well... I like to give my users a choice... so do IBM... therefore... I can cope with eclipse and JAVA... or BOA for Python for that matter...

- Why use second-rate tools when Microsoft already has a shiny, smooth and silky IDE? Screw the OpenSource fanatics!...

Well no... The OpenSource fanatics are the people who spend days and sometimes years developing my OS, mailserver, webserver etc. and when they where done... they gave it to me for free!

Besides... those shiny surfaces hides a core with flaws... It's o.k... so does the not so shiny *NIX surfaces...

But when I run into a problem with i.e. Microsoft Internet Controls, that microsoft has designed, I'm F*CKING SCREWED!!!!

I can't do jack about it but wait till they (maybe) fix it... And THAT, my friend, can take years!..

- why don't I just program my own controls, if I'm that mad about it?

Well why don't I just do that on my *NIX?.. If I have to find Microsofts errors and them fix 'em... I'm better of with just having to make my own in the first place... that will save me bunches of bugfinding time!

This was just a simple example...
What I'm really getting at, is that Microsofts focus will ALWAYS be decided by Microsoft and Microsoft alone... Their focus has ALWAYS been on easyness and for their OSes to be as userfriendly as possible... Nice goal... But as en experienced programmer, I beleive that the more "friendly" things get the more unusable it gets... It would be nice to just click a button and I have webaccess in my new application... The problem is I don't... It doesn't work and I can't fix it...

This is the case for almost every single aspect of Windows... If it's broke - don't fix it... because you can't...

When it comes to Microsoft being "way ahead of *NIX"... well they're not... sometimes they actually are, but then they don't move a thing for years and years... end they get way behind...
Actually, I believe, Microsoft just manages to Hype there products to the extreme!... The talk about .Net has been going for Years! And they're just getting their Visual Studio to work smooth enough for real development...
Now they show off a shell that looks great, but won't be around for at least a couple of years. HYPE! MAAAAN! HYPE!
With my *NIX I get a new version ca. every 6 months, that way I'm always up to date with things. And if I want to, I can just update when I need to and what I need to...

- But isn't that just a manual way of getting the same thing as Windows Updates give you?

No... it's not...
Windows Updates are mostly about bugfixes (and introduction of new bugs) that shouldn't even have been there

- Well... *NIX has bugs to!

Yes they have!... But my experience tells me, that even though they might be as dangerous for my system, it takes a serious hacker to exploit it, whereas the general MS bug is exploitable by every single little cracker script kiddie out there!

My old sendmail server was packed full of bugs and errors, never the less I have never had any problems with it, though i never fixed any holes or bugs.

I could keep going all night, and I will keep going a little while yet ;o)

- My Windows box can give me a nice working connection with a full GUI and stuff, what can your VNC-crapp give you?

Nothing! I hate VNC and I admittedly love remote desktop for it's speed... BUT... my ssh can give me a secure connection to my shell, from where I can do everything I'd ever need to... just give me a 3k connection... THAT... your precious remote desktop, will never be able to cope with!

- But you can't sit back and relax with a nice game Diablo!

Nopes... But why would I waste money on gaming hardware, so I could keep up with the requirements when my PlayStation 2 rocks!?


Now... I think i'll finish of now... I have tons of reasons left in my bag... but I hope you see the points clear enough from this... else... well just keeping windows and pay for limited software that you could get for free WITH sourcecode...
And don't blame it on the GUI! Mac OS X is way ahead of Microsoft in that department and still with a rocksolid *NIX running under the hood!

*NIX has a way of gathering people in communities working for better software for mankind... Microsoft has a way of gathering money for Billy Boy...

May the OpenSource be with you all! We all deserve a great OS!
# October 31, 2003 2:52 PM

maxhodges said:

> Seriously, is anyone actually using .NET for anything?

search monster for ".net"
I found 1771 postings.

# October 31, 2003 2:53 PM

Linux Lets Me Sleep @ night said:

This will be interesting to see, and probably fun to use. However, by the time Longhorn comes out (206? 2008?) and is accepted by users at large, it is reasonable to expect that the OSS community will have created something comparable.
# October 31, 2003 2:58 PM

NSPIRIT said:

Mmmm :)
That fun :]
This'll be a great features, using objects under command shell .... never sawn that under any unix shell ....
# October 31, 2003 3:06 PM

-jn- said:

> never sawn [sic] that under any unix shell ....

You need to get out more, dude! Ever heard of the scheme shell? Ever heard of Python? It's been done already, but the *nix and open source worlds don't have a single "big brother" telling everybody that they have to do things his way.
# October 31, 2003 3:15 PM

Eric said:

This is super.
# October 31, 2003 3:16 PM

Michael Calwell said:

You've been able to download a free utility for Window$ NT that enabled soft and hard links for years.
# October 31, 2003 3:18 PM

The Goat said:

BASH for Windows? Why didn't you say so?!
# October 31, 2003 3:20 PM

Pete said:

Good lord a lot of you are being trolls for Halloween. 0H N03S ITS DE M1CRO$H4FT DEBIL

Y'all need to get lives. *nix is a decent OS, but has its flaws. OSX is a decent IS, but has its flaws. And, yes, Microsoft is a decent OS, and it, too, has its flaws. Zealots, please don't throw stones from within your own glass house. In the end, each OS is just a tool, providing solutions that work for group that chose to employ them.
# October 31, 2003 3:27 PM

John said:

We do have intellisense for cmd. Start cmd with cmd /f and use CTRL F to got intellisense.
# October 31, 2003 3:45 PM

Hydra said:

"drives that don't have to be letters" oooh

sounds like someone at microsoft found out what an Amiga Volume Name was

e.g.

my_partion_1:

instead of

c:


# October 31, 2003 3:48 PM

c0d3h4x0r said:

So if the Microsoft implementation of this is called MONAD, will the GNU clone of it be called GONAD?

# October 31, 2003 3:52 PM

moore said:

It has been said already that all parts of such a shell already exist under other OSes. To add to those mentioned, here's the XML Shell:

xsh.sf.net

which is the best way to hack XML, period.

And nobody has yet disproved the old Unix principle: "make your program do one thing well." A shell that tries to be all things to all people will most likely fail.
# October 31, 2003 4:37 PM

akuma180 said:

Try as Microsoft might it'd take a hell of a lot more than this to pry my hands of my Mac OS X/Linux bash shell & terminal to get me to do windows again. UNIX is far more advanced than this and has utilities that are far more advanced than anything Microshaft can come up with.

I still use Windows 98,2000 & XP and Visual Studio 6 & .NET. Though i've been using VS .NET for a while now, i really still don't get what all the fuss is about it. So you have some new languages and you can do web services.. whoopdi do, talk to me again when I give a damn.

Microsoft is finally trying to come up with stuff now that Mac OS X & Linux have had for years. They are catching up... by the time Longhorn finally arrives Apple can put out 2 more releases of Mac OS X and Linux will have advanced so much. Face it Microsoft is loosing on the OS innovation front.
# October 31, 2003 4:40 PM

Whatever said:

Yeah, a M$ shell. Ok.
# October 31, 2003 5:05 PM

Jim said:

"I think it will be cool to open up explorer, ask for all documents relating to development project 1, and having them all found in no time at all regardless of where they lie, whether its random locations in my filesystem, or in some other filesystem or network that you asked windows to keep an index on. My only hope is that it really works, maybe we need to wake for longhorn 3.0 before we really get excited. "

Hopefully the metadata is correct, but what about typos and inconsistent representations of data. Isn't there an overhead in indexing every word in a document to have contextual associations that would make up for the flaws of inconsistent data grouping? For instance, you call it Project 3, but I call it Jack's Ass of an Idea. We're talking about the same thing, but one of is going to have a hard time finding the other persons stuff.

This isn't a troll.

How is this accounted for?

For instance. I have clients that have multiple people maintain their Calendar in Outlook. Unless they use inflexible forms to create appointments and set descriptions, there is virtually no way to be 100% sure that they can find information in their archives about specific/related/general meetings. If they use forms for creating the appointments, there isn't a lot of flexibility in being able to assign contextual information to the meeting's description... stuff gets shoe-horned into place. How do you get around this problem? How do you know, without a doubt, that everything returned is, well, Everything?

File hierarchies aren't necessarily better, but they do work by allowing those that know how to organize data in specific locations. Everything about project X is in project X's folder (no matter what I named it).

Please enlighten me. I am seriously curious. It sounds fascinating.
# October 31, 2003 5:22 PM

phleep said:

Embrace and extend 25 years later. Well done :P
# October 31, 2003 5:24 PM

Cafuego said:

So basically this thing is more or less a version of perl or python running as a shell. Native API hooks blah-blah - perl has them too and I'm sure python does as well. Sure, it uses .NET extensively, but how hard is it - really - to write a .NET module for perl or python? Or for that matter a linux 'perlshell api' kernel module? Surely it'd be done well before xmas this year.

Even IF this was a true innovation, how long would it be before the open source community has a better version running on *BSD/Linux?
# October 31, 2003 5:31 PM

abc said:

why i need toString()? i want the shell to handle text and text only varibles.

# October 31, 2003 6:00 PM

solid_liq said:

Hmmmmmmm, let's see here...

Ok, first, to all the Windows fanatics who've never even bothered to learn anything about *nixes, and to those who don't know enough: no, this isn't a bash clone. Python, on the other hand, let's you do all this and more. And all this talk about "I'm sure the open source community will have a better version running on *BSD/Linux by that time," THEY ALREADY DO, AND HAVE HAD, A BETTER VERSION. Why???

Let's examine how this works under Windows, shall we?

kernel, systems calls
called by:
win32 C API
called by:
ATL/COM to turn procedural code into a more object-oriented "design" (never mind the fact that all they're doing is putting an object-oriented wrapper around procedural code, ie, more overhead)
called by:
.NET
called by:
MONAD

Ok, so that's five layers.

Now, let's examine how this is done under Python or bash (when OOP is not needed)

kernel and api system calls
called by:
Python (or bash)

need to connect to desktop applications? Running KDE?

application api interface
called by:
DCOP
called by:
Python (or bash)

2 layers for system call, 3 for desktop application control

hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

I wonder what could be better, call after call, objects constructed to hold objects it constructs to hold the variables it needs to in turn pass to the win32 api, which will then make calls into the kernel, if needed

or

straight translation of the Python or bash commands into either direct api calls, or calls to DCOP, which in turns makes the requisite direct calls.

Hmmmm, I bet it would take a genius to figure out:

a) which one is going to be faster
b) which one has more areas in which bugs can bring ever thing to a blue-screening, um, er, crashing halt
c) tried and true, known to be reliable code which has been in use for many years, or a new creation by a company which is notorious for producing poor quality software, in part because the chief software architect doesn't happen to know his ass from a hole-in-the-ground about architecting good quality software, but thinks he does, or just plain doesn't care
d) which design just plain makes much more sense, especially to one who knows how truthfully important it is to follow the saying, "Keep it simple, stupid!"

damn, I wonder.
# October 31, 2003 7:43 PM

Anonymous Cow Turd said:

Now, let's examine how this is done under Python or bash (when OOP is not needed) [...]



What a bunch of crap.

I've been a Unix admin, developer, and aficionado for years. I swore off MS about ten years ago. I've never even installed Windoze '95 on any of my systems, and I know enough to call bullshit on this. Additionally, I work close to the kernel on a daily basis, and am writing a programming environment, and a user environment, from the syscall layer up.

The sequence goes:

Command Interpreter (a running python program, let's say)
Python Interpreter (yeah, this has to be considered distinct, as it is running the command interpreter)
Python Library Wrappers (what, you think Python has all this crap built into the language natively?)
C library (Python is portable -- it uses the POSIX C library interface, more or less.)<br>
Kernel System Call Gateway (You run up against the kernel, and go in the doors it provides, only when it says you can -- this can entail some elapsed time.)
Kernel Code.
Now, retrace your footsteps all the way back out again, checking for errors, catching exceptions, or what have you. Surely you all do this when you code, right?

No, this shell MS seems to be developing isn't revolutionary, but it IS evolutionary. It IS leaps and bounds above BASH/KSH/etc. Its functionality could be replicated, and done better, under Python or what have you, but to equate it with BASH is pure foolishness.

Cripes. Grow up, losers.
# October 31, 2003 9:20 PM

Anonymous Cow Turd said:

Now, let's examine how this is done under Python or bash (when OOP is not needed) [...]



What a bunch of crap.

I've been a Unix admin, developer, and aficionado for years. I swore off MS about ten years ago. I've never even installed Windoze '95 on any of my systems, and I know enough to call bullshit on this. Additionally, I work close to the kernel on a daily basis, and am writing a programming environment, and a user environment, from the syscall layer up.

The sequence goes:

Command Interpreter (a running python program, let's say)
Python Interpreter (yeah, this has to be considered distinct, as it is running the command interpreter)
Python Library Wrappers (what, you think Python has all this crap built into the language natively?)
C library (Python is portable -- it uses the POSIX C library interface, more or less.)<br>
Kernel System Call Gateway (You run up against the kernel, and go in the doors it provides, only when it says you can -- this can entail some elapsed time.)
Kernel Code.
Now, retrace your footsteps all the way back out again, checking for errors, catching exceptions, or what have you. Surely you all do this when you code, right?

No, this shell MS seems to be developing isn't revolutionary, but it IS evolutionary. It IS leaps and bounds above BASH/KSH/etc. Its functionality could be replicated, and done better, under Python or what have you, but to equate it with BASH is pure foolishness.

Cripes. Grow up, losers.
# October 31, 2003 9:21 PM

Giovanni said:

Really, this is HIPE as it's fullest.... Cmon yo guys you know better. This is a modified VB Script ... Compatibility with old .bat files anyone? Thank you. You can say Python can resemble such a shell too or Jython.
# October 31, 2003 9:25 PM

Rik said:

Can't stop laughing.... HAHAHAHAHHAHA
# October 31, 2003 9:50 PM

aDidCted_tO_LiNuX said:

from /.
timing sux
MS power users want it NOW, not years from now
# November 1, 2003 12:14 AM

jammer said:

If they want CLI, they should use UNIX!
# November 1, 2003 2:38 AM

enanomer said:

Yes, this "msh" stuff is pure hype. With the right references (say, ones for VB Script and Windows Scripting Host and one for writing NT command files), then it is close enough to a unix shell scripting environment, but of course, the example code initially posted looks just inherently stupid and unreadable.

CMD.EXE is a far step beyond COMMAND.COM (remember, on NT-based systems COMMAND.COM is just a wrapper that runs CMD.EXE anyways...) that it is almost usable. WSH makes it even more usable, but still not up to even sh.

At least it is pretty obvious to tell what is happening with a VBScript/WSH script file.

MS hasn't done much with its command-line environment because it has tried to steer everyone completely away from it, yet those who know that this is not possible trog on slowly using the tools that MS has, use Cygwin or U/Win, or just use Linux or other Unix variant.

MS should stop "innovating" sometimes and realize that the typical wheel, round and boring as it is, is about as efficient as it gets, and that there is no way they will make a square be able to work as good.

It really remains to be seen whether it really is "evolutionary", even (which implies old stuff, with new stuff thrown in that just works better than the old stuff it supplants) than unix shells. I really doubt that it will be.

"KISS" (keep it simple, shi...er, stupid) really means nothing at all at Microsoft, which seems to only know how to "innovate" for innovation's sake, much like a politician "does" stuff just to be able to say at election time, "look at all the things I did for you!".

Sure, pipes and "everything is a file" are so 30-years-old technology, and with feature-rich stuff, more complex things can be done without having to do so much work around it, but the 90/10 rule of shell scripting is not to do complicated things that a "real" (i.e., C/C++/C#), but merely to automate simple steps that seem to occupy 90% of many people's thought and task spaces.

And that simple reduction of "everything is a file" makes so much just inherently possible and doable in a Unix-based shell programatically...

The Unix Way seems to meet this goal more than adequately, without pretending to be anything other than what it is.

Somehow, after 15 or so years for me, the Unix Way just...still works.
# November 1, 2003 3:44 AM

Elwood said:

Personally I have too often to run the Amiga emulator to do what the MS shell can't.

And what does the article say ? "file aliases are possible" LOL :-)))))))))))))

I do this for years now on my Amiga ! :-)
# November 1, 2003 7:43 AM

codecore said:

Let's see...
1. Let's all slam MS for implimenting a feature that *NIX has had for years. So it's a good feature, but we don't like it if another OS agrees, and provides those features to it's users?
2. Are you sure that your old shell had a native object model? Can your shell script enumerate all the properties on a dynamically instanciated object at run-time? I'm just asking, since I don't use sh/csh/ksh/bash/etc.
3. Are there any real innovations that were not in another OS/Shell of the past? I get tired of people pointing out "They had that feature in Be/Amiga/..." So what. It is boring.
4. I believe that MONAD is not an attempt to be more *NIX like, but rather, to provide a shell that is as powerful as any in the *NIX camp. I predict that there will be an object and a set of tools to facilitate migrating your *NIX scripts to MONAD. This is about removing a perceived advantage held by the *NIX crowd.
5. This reminds of the days when they shipped a BASIC interpreter with their OS (GWBASIC). That gave the end users some power to write their own apps. I love it when the users are empowered.
# November 1, 2003 11:16 AM

codecore said:

Let's see...
1. Let's all slam MS for implimenting a feature that *NIX has had for years. So it's a good feature, but we don't like it if another OS agrees, and provides those features to it's users?
2. Are you sure that your old shell had a native object model? Can your shell script enumerate all the properties on a dynamically instanciated object at run-time? I'm just asking, since I don't use sh/csh/ksh/bash/etc.
3. Are there any real innovations that were not in another OS/Shell of the past? I get tired of people pointing out "They had that feature in Be/Amiga/..." So what. It is boring.
4. I believe that MONAD is not an attempt to be more *NIX like, but rather, to provide a shell that is as powerful as any in the *NIX camp. I predict that there will be an object and a set of tools to facilitate migrating your *NIX scripts to MONAD. This is about removing a perceived advantage held by the *NIX crowd.
5. This reminds of the days when they shipped a BASIC interpreter with their OS (GWBASIC). That gave the end users some power to write their own apps. I love it when the users are empowered.
# November 1, 2003 11:19 AM

BZZT said:

I probably dislike Microsoft a hell of a lot more than most of the people posting Here. I worked for them as a dev lead in a product group, and know first hand how they operate. That said, I must say the vast majority of the clowns posting in here are clueless jackasses. It's cool to hate Microsoft, but you fools make yourself look like nitwits with your ignorance.

good day.

# November 1, 2003 11:51 AM

efti said:

Disclaimer: I read /. and I'm a dirty Linux hippy ;)

This discussion would have been much better without all the trolling and zealotry, but of course the war of operating systems has too many paralels to a religious war, and religion leads to extremism...

As it stands, the /. crowd is making a better argument so far. Of course it's relatively easy considering that Microsoft (and Apple too) has been forced to acknowledge the power and usefulness of the humble the command line a la UNIX. Of course that's a no-brainer because if you know what you're doing, the keyboard allows you to type commands at 30-60 words per minute, which is something that's impossible to do with a GUI, no matter how well-designed it is.

The problem is that Microsoft has been pushing ease of use and trying to kill the command line for years, which means that they have a tremendous amount of face to lose on this. And they collectively have a really bad case of 'not invented here' syndrome. So they will yet again go ahead and redesign the wheel and make it totally different and incompatible. This partially has to do with the novice programmer mentality of trying to rewrite stuff to see how it works that some people at MS never did seem to get over. And of course there are other reasons too, like making things incompatible to lock in their customers.

It would be almost unthinkable for them to adopt something like bash because it would be tantamount to admitting that the UNIX model is altogether better than Windows (or that's the message this move would signal). And that's the last thing you'd do when your main competitor is an UNIX workalike.

I might come through overly critical. This wasn't my objective. I try to be fair and impartial, even though the topic of operating systems is forever intertangled with religious overtones, hype, zealotry and other irrational arguments. I can only offer my own opinion based on my personal experience. That and a big, long rant that probably will only be read by a handful of people (mostly visiting from /.)...

Anyway, I started out with Windows, then gave Linux a try mostly because of the appeal of the open source / free software philosophy. Then I eventually discovered the real value behind the *nix way and in the process I've gained a much better understanding of computers and operating systems than I ever would have if I sticked to Windows. And this in turn made me a better IT professional, and I have to thank Linux for that.

I think that adding a decent CLI to Windows is a great idea and there would be much less animosity towards MS if they did this around the time NT or Win95 came out. A decent CLI is something I have wished for countless times since discovering its power through Linux. I just hope MS will have the sense to keep it simple.

The single greatest thing about Unix is its simplicity . Unix's power comes from the abundance of simple programs that are easily understood and learned in a few minutes, then combined to perform complex operations if necessary. Power users will always find ways to combine these simple building blocks as long as they understand them -- just like you can build the most complex things out of the simple building blocks that make up Lego.

MONAD sounds really powerful -- whether or not it is the first CLI to provide these features or not. But if simple things aren't easy, then most people will just give up on it. The Perl motto (well, one of the Perl mottos) comes to my mind: "Easy things should be easy, difficult things should at least be possible." In other words, you shouldn't need to be a specialist developer to use MONAD, as you would have to be to program say Java or .Net.

In other words, I hope that Microsoft's idea of innovating the command line won't be like the Japanese innovating the toilet. Traditional Japanese toilets were the squat type. Eventually sit-down toilets became popular, and many come with features like built-in wash and blow-dry (no kidding), which means that there are a whole lot of buttons on the thing, a decidedly unnerving experience for people (mostly foreigners) who use them for the first time and are usually afraid to touch any of them. My point is that you shouldn't need to read a manual to go to the toilet and you shouldn't need to read a huge thick manual to use a CLI.

In any case, Longhorn is still at least two years away, and many things can happen in the meantime. But I'm interested to see where MONAD will go. If there are genuinely useful features in it, then those will be adopted into the Unix command line, just like Microsoft adopts ideas from other operating systems including Unix. And that's what innovation should be like. Good ideas get adopted, bad ideas will eventually go away. (I'm still waiting for the Registry and the drive letters to go away, heh)

Whoa, can I rant or what? ;-)
# November 1, 2003 11:52 AM

Jeffrey Snover said:

Interesting thread Jason!

If people are interested in getting more data about what we're doing with the Microsoft Shell, take a look a my deck at http://www.gotdotnet.com/team/PDC/4118/ARC334.ppt

Many of the observations about similarities with ksh, Perl, Ruby are fair but don't capture what is really happening. MSH is a fairly dramatic repartitioning of the roles of the Shell, Cmds, and utilities.

RE: the code name Monad. This came from Leibniz's Monadology, a philosophy which says that everything is a composition of smaller things (the smallest being a Monad).

jps


# November 1, 2003 12:31 PM

Jason Nadal said:

I'm working on putting together more info on this topic, and am still recovering a bit from jet-lag.

Thanks for the powerpoint link, and I really enjoyed that session on Wednesday.
# November 1, 2003 12:37 PM

Thomas Lee said:

MONAD is utterly cool. Of all the presentations at PDC, this one most rocked me!!

I see monad/msh as a mixture of the very best of scripting techniques (from the Unix World), mixed with Perl, and totally based on .NET. A developer and admin friendly uber-power tool.

I want MSH NOW!!!!!

MSH rocks
# November 1, 2003 12:42 PM

Thomas Lee said:

# November 1, 2003 12:55 PM

fxj said:

I think it is a nice idea. it is like the .NET extensions for python (http://zope.org/Members/Brian/PythonNet/) where you can script the .NET framework with python. I am using it frequently and it is really great.
# November 1, 2003 1:05 PM

The C_Man said:

Finally. With aliases I can set ls to mean dir. I hate all M$'s awkward commands! dir? del? copy? Get real. bash is much more flexible and easy to understand. Ah: ls, rm, cp. Sound nicer, don't they? Less n00bey.

I hate the command shell in Windows cause half the stuff that worked in DOS don't work in it. This better not be another piece of incompatible crap
# November 1, 2003 5:38 PM

Rich Steiner said:

You can do aliases already, sort of. Just create
a little ls.bat file this:

@ECHO OFF
DIR %1

Bingo. An ls command in Windows.
# November 1, 2003 8:58 PM

TrackBack said:

# November 1, 2003 10:41 PM

noname said:

ok ok we all know its going to be incompatible, but hey, if you are so good at coding, then translate.

If you like linux so much, then stay with it, and do not touch ms products (and viceversa).

But please stop whining, if you know "that" much then code your own os and sell it... if you have a cool idea, patent it now and then develope it... enough with this "ms sux because doom wont run under its os".
# November 2, 2003 12:21 AM

JraNil said:

hey its great,now micro$oft have understood the power is in SHELL
# November 2, 2003 1:17 AM

sfu said:

Mmm...Longhorn is still at least two years away and maybe so is any consumable form of Monad. Meanwhile, for bash lovers, *nix style scripting lovers there is Windows Services for UNIX that does pretty much all and more you want on your Windows box. And yeah, they are giving the 3.0 version of this product free for some time now. Check out http://www.windowsforunixpros.com.
# November 2, 2003 2:37 AM

Thomas Lee said:

sfu - from what MS said at PDC, Monad just requries .NET Whidbey, so should be able to be released long before Longhorn.
# November 2, 2003 4:56 AM

Jason said:

What a MS-bashing magnet this post is.
Too bad most Unix lovers are such whining idiots...
# November 2, 2003 11:38 AM

pax01 said:

All this CLI stuff is wrong from the beginning.
The CLI, to be useful, has to be lightweight, fast, and let you easily INTERCONNECT programs.
Anything below or over that is just dumb. You would be better off either with a cool explorer window or a real programming language.
# November 2, 2003 4:06 PM

sg said:

comment summary

# of simple anti MS trolls: 46
# of simple anti *nix trolls: 0
# of people who needlessly point out that similar things have been done before: 26
# of people who needlessly point out that it is needless to point out that similar things have been done before: 34
# of people who think they are the first to make a joke using the word 'gonad': 6

# November 2, 2003 10:26 PM

Thomas Lee said:

Pax01: you miss the point here. For a start, the CLI gives you control that piping of text never could ever give you. You get type safety, easy extensibility, code access security and much, much more.

The Unix guys were right over the basic concept. MS has just improved it.

As for fast, on a Longhorn machine you'll have at least 1gb of ram, and a fast processor. With that sort of hardware, the CLI will be fast enough.
# November 3, 2003 4:20 AM

vasudeva said:

Want aliases? Use doskey.exe, which allows a /macrofile switch which does just what you'd think.
# November 3, 2003 8:57 AM

TrackBack said:

collection of pdc rleated links ...
# November 4, 2003 12:22 AM

Thomas Lee said:

vasudeva: aliases are but a tiny part of monad. A tiny, tiny part.
# November 4, 2003 11:00 AM

TrackBack said:

# November 4, 2003 11:27 AM

Jonadab the Unsightly One said:

Sounds promising. This could actually replace bash,
reducing by one the number of reasons you need cygwin.
That's a good thing. Plus, extra bonus points because
it will ship with the OS OOTB, so you can rely on its
being there.

Of course, I quit writing scripts in bash a while
ago when I learned Perl, but nevermind... Perl still
for some reason doesn't ship with Windows OOTB. MS
really needs to work up a deal with AS on that...
but barring that, this still looks to be a great
improvement over cmd.exe, to say nothing of the Win9x
command prompt.

Ummm, when is this going to be released, again?
# November 5, 2003 12:52 PM

Jonadab the Unsightly One said:

> However, by the time Longhorn comes out (206? 2008?)
> and is accepted by users at large, it is reasonable
> to expect that the OSS community will have created
> something comparable.

Well, yeah, of course (we'll have Perl6 by then, for
crying out loud) but that won't make it available on
an out-of-the-box Windows system. This will. So it's
a good thing.
# November 5, 2003 12:56 PM

Jonadab the Unsightly One said:

> Let's all slam MS for implimenting a feature
> that *NIX has had for years. So it's a good
> feature, but we don't like it if another OS
> agrees, and provides those features to it's users?

I don't think they're so much slamming MS for wanting
to implement this feature, as for failing to get
around to it sooner. They're being needlessly
confrontational about it, but it is surely true
that this would have been useful in 1995.

> 2. Are you sure that your old shell had a native
> object model? Can your shell script enumerate all
> the properties on a dynamically instanciated
> object at run-time? I'm just asking, since I don't
> use sh/csh/ksh/bash/etc.

sh doesn't have that, and I don't think bash does
either. The others I don't know. But Perl has it,
ever since 5.003 or so, and Perl is more a part of
most modern unices than the command prompt is a
part of Windows. And by the time this comes out,
we'll be vanishingly close to Perl6, which will have
a much *better* object model (context-aware objects,
among other things) that will make all this look
obsolete. So yeah, the OSS community has this.
That doesn't mean Windows shouldn't have it too,
of course.

> Are there any real innovations that were not
> in another OS/Shell of the past?

Probably, but...

> I get tired of people pointing out "They had that
> feature in Be/Amiga/..." So what. It is boring.

Actually, ITS, back in the days of the PDP8, had
a feature that I'm *still* waiting to see in a
modern, desktop-oriented OS. VMS has it, but I
don't want VMS on my desktop (go figure). I am of
course talking about filesystem-level versioning.
BSD doesn't have it; Linux doesn't have it; Hans
Reiser hasn't implemented it; HFS+ (Mac FS) doesn't
have it; FAT *certainly* doesn't have it, and NTFS
doesn't have it either. It remains to be seen, but
I am not holding my breath for it to be in WinFS,
either. Shame; it's a *useful* feature.

> I believe that MONAD is not an attempt to be more
> *NIX like, but rather, to provide a shell that is
> as powerful as any in the *NIX camp.

Semantics. *nix has a more powerful commandline,
Microsoft knows it, has known it for years, and now
that they perceive Linux as a threat, they're finally
ready to *do* something about it. So yeah, they're
not copying bash per se, but what they are doing
is to introduce a powerful feature to compensate
for their previous lack. In that sense they are
copying *nix, not in the sense of cloning, but more
in the sense of taking inspiration from an idea.

> I predict that there will be an object and a set
> of tools to facilitate migrating your *NIX scripts
> to MONAD.

Perhaps.

> This is about removing a perceived advantage held
> by the *NIX crowd.

Yes, absolutely. There are still some other pieces
they'll need -- notably, a decent text editor -- but
this is a start. And turnabout is fairplay, because
the *nix crowd have been working hard on GUI toolkits
to try to do exactly the same thing in reverse.

> This reminds of the days when they shipped a
> BASIC interpreter with their OS (GWBASIC). That
> gave the end users some power to write their own
> apps. I love it when the users are empowered.

Agreed. Though today MS ought to be shipping Perl,
at minimum. I'm sure they could work an agreement
out with ActiveState if they wanted to. They're
the only remaining major OS that doesn't ship with
Perl, unless you count VMS, which is heading toward
end-of-line status rapidly now.
# November 5, 2003 1:31 PM

OSH said:

>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!

Micro$oft had "invented" a new feature of MONAD;)
This feature is very similar to AmigaDOS command "ASSIGN". This command was implemented in AmigaOS since 1987:))
No more comments...
# November 6, 2003 9:25 AM

MindPimp said:

sometimes future mocrosoft says
we have status discover of new command format
just better new comand format use only software
made by MS ;))
# November 7, 2003 7:28 AM

kaa said:

jonadab: freebsd 5 does not include perl, afaik (one surely can install it from ports, but it is not part of system anymore).

to keep things on topic: msh may or may not be usable, based on its somplicity, not power. the good thing about unix tools is that they adhere to KISS principle - i can say
$ find -name '*myfile*'
otoh, 'file' is really sophisticated and powerful.

If monad will lack simlicity - it will be yet another unused feature in windows.
# November 7, 2003 12:47 PM

Thomas Lee said:

Jonadab sez:
> They're being needlessly
confrontational about it, but it is surely true
that this would have been useful in 1995.

I take some issue with this statement. First, I did not get any sense of confrontation from the PDC persentations. It was straight technical: this is what is is, why it's cool and what you can do with it.

Regarding 1995: heck, I had to try to teach Unix admins NT in 93! Man was that hard - they all were whining for their shell. :-)

But rightly so. And yes - MS got it wrong, and CL scripting really is a better way to go about it. I think the guys concede this.

What I like is that they've listened and done something -better- than just implement a Unix shell.


# November 9, 2003 5:58 AM

TrackBack said:

Microsoft's New CLI
# November 10, 2003 7:41 PM

TrackBack said:

CLI for noobies: everything's a file
# November 10, 2003 7:42 PM

TrackBack said:

Monad - The Next Generation Command Line
# November 10, 2003 7:42 PM

TrackBack said:

MSH
# November 10, 2003 7:45 PM

TrackBack said:

The Awesomeness of Longhorn
# November 10, 2003 7:45 PM

TrackBack said:

Monad - cool command line shell for Windows (in 2006)
# November 10, 2003 7:47 PM

TrackBack said:

Longhorn Command Shell - Welcome to the preview
# November 10, 2003 7:48 PM

TrackBack said:

? ?? ?? Microsoft ???????? ????? ????????? ??????
# November 10, 2003 7:49 PM

TrackBack said:

Regarding Microsoft's New CLI
# November 10, 2003 7:50 PM

TrackBack said:

Assign w Longhornie
# November 10, 2003 7:50 PM

Copy Paste M$ said:

Are you too bussy with copying other OS-stuff that you just now reached the shell??

Wow, I am waiting for the first Shell-Secure-Holes-Updates. May 19MB ;-))
# November 11, 2003 10:59 AM

tom said:

if ms are going to do that, then they had above all BETTER finally allow windoze to operate effectively without any gui at all. I`m amazed by how rarely people seem to notice this severe deficiency. That could actually turn their gui-biased dog poo into a grown-up os.
# November 29, 2003 6:20 PM

raptor said:

pls get real : SHELL over GUI
Shell is supposed to be used for quick and dirty things... i.e. fire a command, chain 3-4 commands on the pipe...
if u want something more complex u have plenty of choices : bash, perl, python, ruby to name a few.. and then chain-together again ..
Even if MS makes a some-sort-of-shell it still dont have the rest :
grep, find, sed, awk, tab-completion and so on again to name a few.. (coping them from unices may help abit)
U will never make object oriented program on the console, for this u just fire an editor (not Notepad) write what u want and then use it as a one additional command from the arsenal..
So even if u get this MONAD today u will need a couple of years so that u find what are most useful commands needed get them written and accepted by the whole MS community, and then the hard part included by default from MS.
So it would take a years-of-years to get the real power of shell under MS.

Later under Windows we have another problem for the shell to be usefull it has to be slick and second MS has to make process-startup under Windows alot faster.. See under *nix u expect to fire many shell/perl/etc scripts one after another so the process-creation&startup is a way faster for than windows..

MS has made a different route as design desicion make all-GUI and that is the reason they can't make monah a better CLI than what *nix have, which is ok 'cause they concentrated on GUI.

On the other hand Linux may not get better GUI for some-ms-users which is ok too..

What MS want to do with this toy is to attract potential sysadmins and such or stop the ms-ppl converting to unices.

? Believe me the users that use CLI know why they use it ?

making shell for the sake of making shell or marketing purposes doesnt help the users..

Dont get me wrong i would love see some better shell (available by default) under winboze even it is on the stage on which 4DOS was in the past..:")

ooops forgot I'm not using windows, so i dont need shell under windows :")
# January 6, 2004 3:39 AM

TrackBack said:

Microsoft, today, officially released Services for Unix 3.5 -- for free. I've been a longtime user of Cygwin, but haven't been using it as much lately. PuTTY has replaced my Cygwin SSH shell, and l haven't done any perl programming...
# January 15, 2004 6:54 PM

windoze user said:

So will MONAM come with a gui so I can point and click on stuff?
# January 19, 2004 5:18 PM

FH said:

I was a unix developer for about 12 years. I have also been a windows developer since NT came out. Being familiar with both unix scripting and .NET programming, I can tell you that MONAD is completely different from any unix shell.

Reading the slashdot posters here, it seems that most fall into one of two categories: post without reading, or post without understanding. This does not elevate the anti-MS "community". On the contrary, the "community" becomes subject to ridicule, and it is difficult to see the difference between the "community" and a lynch mob.

If you wish to post in a technical forum, at least try to understand what you are commenting on. This shell is a very big deal. The main reason is its integration with .NET. If you don't understand that, maybe you should learn a little about .NET before posting.
# February 2, 2004 11:02 AM

TrackBack said:

# February 3, 2004 2:42 AM

TrackBack said:

# February 3, 2004 3:22 AM

BILLY said:

I started reading this log and was really shocked by the lack of technical knowledge and understanding that the majority of posters here have displayed. Much of what is written here really shows the lack of knowledge and understanding by the anti-MS “community.” Linux and UNIX both do some things extremely well but it is very unlikely they will ever gain market share from Microsoft. Microsoft just does too many things well and they have the money and power to stay in the lead for a very long time to come. A small software company can bring out a great component or program but it is hard for them to survive in today’s economy. There are very few truly original ideas and implementations out there…and they are few and far between. Just like Microsoft took the GUI idea from Xerox and Apple

I use office 2003 and visual basic .NET 2003 daily. The level of integration between all the components is phenomenal. They have made just about every task that I have to do in a work day less convoluted and much quicker. Isn’t that what it is really all about? Why else are you writing a program? Why is there so much talk about integration and usability? Do you want to make software more challenging and less usable? Doesn’t really make any sense does it?
Object oriented programming is how just about everything is done now. In Longhorn Microsoft is attempting to make the entire environment object oriented from the file system on up. Does this create more security problems of course it will but to what extent is very hard to tell at this time. Think of how OOP changed programming, quite possibly the next generation of Microsoft OS’es will have a similar effect. Only time will tell.

As for the bright guy who asked if anybody actually used .NET? Take a look at this page very…guess what? This very page is a web application programmed in more than likely VB .NET…notice the .ASPX at the end of the URL? If you ever used Microsoft TechNet and MSDN before they implemented .NET web services you know how slow and relatively painful it was. Since they have switched the pages are a fast and very navigate beautifully. Programmers now are truly getting the hang of how wonderful and powerful .NET web services are and how simple it can be to program them. There would be no .NET without object oriented programming and with the next generation OS still a couple of years away the true value of the whole .NET initiative is yet to be seen but should be pretty darn incredible from the looks of how things are progressing.
As to the complaints about not being able to administer or do much from the windows CLI…Anybody out there ever actually administered a Windows server or network? WMIC is a CLI based protocol that enables you to do just about anything in a windows environment all from command line. It is part of the WMI infrastructure which is a Microsoft’s implementation of WBEM. WBEM is an industry initiative to establish standards for accessing and sharing management information over an enterprise network.

Microsoft definitely has some questionable business practices and yet they are the prime example of how capitalism works and how to be successful. Their business practices are taught in just about every business school in our nation right now. I am not saying this is good or bad just how it is right now…and things always do change. It often times seems like people hate Microsoft and Bill Gates for simply because of how successful they have been.

Linux and UNIX both have security holes and seemingly countless bugs…I work for one of the largest computer companies in the world and get news flashes everyday about different security vulnerabilities and problems with different Linux and UNIX environments. It is just the way that software today is…so many different modules and so many different people writing code that there is an enormous amount of half-assed work out there. Microsoft has such an enormous install base that it is hard to cover every single issue that may come up before releasing. That and admittedly they did not have the foresight 5+ or so years ago when writing the initial code that security and viruses would be the massive issue that it is today. For all intensive purposes they were exploring uncharted territory. They were leading the way back then and still are today. Sure they assimilate the smaller companies that are innovating ideas and techniques to make progress possible but all that integration and advancement comes at a price of uncertainty for they don’t have anybody to follow anymore. They have to forge new ground fully knowing that there will be problems along the way….but they are getting better and better.

Anybody who has worked with Windows 2003 knows that they made massive changes and have made it a very secure product. Also IIS 6.0 is a fantastic web server that is very fast and when set up correctly very secure. Viruses are a part of the computer world that are only going to get worse and worse. They are working on solutions here as well. Also with the new operating systems coming out in a locked down mode (all nonessential services are turned off) it will be much harder for viruses to exploit the countless users out there who are clueless. They are working with CISCO to stop viruses at the switch level and when XP sp2 is released a great truncated version of ISA server, which will make it much harder to hack a box from the network, is installed and turned on by default. This will of course create a problem for some users out there because it really does lock down the internet connection but for the general public they will see no difference at all.

I could go on and on with positives and negatives from Microsoft and all other operating systems. Each has their strengths and weaknesses. The Linux and UNIX worlds are playing catch up to Microsoft on usability and probably will be for the remainder of the battle. The strength of the UNIX and Linux world is the open source nature of the code….which is also a weakness. Ever heard the expression, “Too many cooks spoil the broth”? Microsoft has a lower Total Cost of Ownership than Linux and UNIX. This really seems odd to me being that the *NIX world is open source and supposed to be free. Sure, Microsoft doesn’t release their code…and why should they? They have spent billions of dollars to get that code the way it is…good or bad. They release countless ways to interface with it and have fantastic documentation on how to do it. Sure, the control might not function the way you specifically want it to but I would be really surprised if there weren’t another 10+ ways that what you are trying to do can be implemented in another way. This is the downfall and grandeur of programming modules for the widest possible general use.

I am sure it is apparent that I love Microsoft products. Whether good or bad I still find almost all of them to be the most superior software available. If the *NIX worlds really want to change things they will need to truly innovate something instead of merely modeling their products on what Microsoft did a few years ago. Regardless of the platform, computers have evolved into mankind’s most used tool…with the possible acceptation of the wheel. Everything in our modern world uses computers in one form or another. All computers and operating systems owe their current level of use to their forefathers regardless of platform…they have all grown because of their combined properties. The industry is an ever evolving organism and will always have people who love or hate certain aspects of it. I will never be able to change that. However, perhaps this little rant will help somebody out there from pervading the ignorance that THIS is better than THAT because THIS can do something THAT can’t at this point in time...the industry builds upon its self, always has and always will.

Hopefully some of the “anti-‘whichever OS’” people will realize this or at least have some good facts before posting. Being negative about something without understanding that thing simply pervades ignorance and brings down the communities that those people associate themselves with.
# February 5, 2004 3:06 PM

aaron said:

i just wanted to add that folks use computers for many different things.
for instance, i do a lot of server-side development in the command line of various *nix os's.
i also use *nix for coding standalone apps.
i have my own lil ide's i kinda slap together from free tools and shellscripts that serve me just fine...you can find things for most any task from jtag interfacing over serial to simplifying socket prgrming. yes, its very nice to be a unix geek.
I also record, synthesize, edit, mix, and produce vast amounts of music semi professionally on windows. (i make some income from this and regard it as a sort of religion...)
the unix world has a long long way to go before any of their audio applications reach the level of usability, functionality, dependability, compatibility and integration of their windows counterparts...(not really a fair term- there ARE not counterparts to much of the software i am using- even the mac based audio apps i;ve used are different than the ones i know, love, and depend upon...)
For example, Orion Platinum from Synapse Audio:
something like this peice of software is not GOING to be developed on unix anytime soon- unless i do it for the labor of love etc...
the peices are all there to do serious unix audio apps: the open source world is lacking incentive to get into dsp and employ some of the heaviest foo known to computing in making 10 competitive and parallel audio production suites with full compatibility for plugins etc. we have that level of competition in the pro audio dept.
while my lifelong goal is to eventually make and use my own software in music dev, i have not seen even a single software synthesis suite for any *nix. (and please note that a software synthesis suite allows one to synthesize, record/play samples, sequence the synthesized sound sources, multitrack various synthesized and sampled sounds, mix them together and output a final product as an audio file of some kind.)not very encouraging...the 2.4 kernel doesn't give much of a shit about audio=-
the scheduler won't even allow for proper audio latency times (no more than 10ms) between triggering via midi protocol, for example, and a sound reaching the audio card driver- you have to apply a kernel patch...
so its always interesting to some of us what is going on in other domains of knowledge-
its really ok that there is both a microsoft and computer science as a body...
or it better be- as thats whats up currently- the don't directly compete is all i am saying. hell, i'll bet ms drops IIS all together at some point...
so take it easy on the ms rumor guy folks ok?
its just tangential gossip that has little to do with the unix world in general but much to do with anyone who ever has to use windows for some reason. trust me- there are reasons sometimes...
and someday if i get enough dsp foo i'll build ya'll a real software synthesis suite!
# February 10, 2004 10:22 PM

amused observer said:

I just thought id comment on this thread. There are an awful lot of respondants here that obviously know very very little of real programming and real large scale development.

All that stuff you gee-whiz-I've-got-an-IDE to write my program who are making comments about unix design, software integratability, interoperability, especially those making disparaging remarks about *nix with regard to the latter two are just showing your profound ignorance.

First off, Unix has had IDE's for longer than windows. Second, there is still a signifigant body of code that plain old cannot be built without advanced *nix style assembly tools like make (or the win32 equivelent nmake). Let me assure you that MS uses linux tool sets to _build_ Win32 itself. They sure as hell dont have VC++ "project" for writing their os.

As for interoperability and integratability MS is waaay behind the curve. Primarily for one big reason: its closed source. The _only_ way that you get interoperability _without_ the source code is to provide a language like abstraction layer that everything can talk. Linux/unix doesnt need this as its always used three primary mechanisms for interoperability between processes: source code binding, streams and sockets. Since the source code is available this is trivial in Linux, in unix libraries and API's are _fully_ documented. No secret "just for MS" stuff that you dont know about. The idea that everything is a filestream originated with Unix. It means that integrating and interoperability is trivial. Sockets provide an efficient way to make programs interoperate. All of this is the reason unix doesnt need a fancy and wasteful scripting language and object model that sits on top of the OS. For those of you that think that all the "features" in the monad are going to make things nicer, well prehaps they will for trivial work, but for complex, oh-my-god-they-changed-the-spec-how!? work forget it. The rigidity will suffocate you. Unformated parsed text streams allow you as much or as little felxibility as you need. Oh, you need to represent something the language doesnt know how to do? Fine create a new spec, and write the codes so both ends talk it.

Anyway, dont get me wrong here. Im primarily a C/C++/Perl developer on win32. I happen to like and feel comfortable working on windows products. But the nonsense spouted by what are quite clearly extremely young and ignorant purely win32 programmers is just shocking.

Until this monad stuff is out I suggest people look into cygwin.com and activestate.com sysinterals.com and some of the unix compatibility stuff by win32 (i dont use the latter much tho).

PS: as a last comment to those who think MS technology is so wonderful and superior. Exactly why is it that Win32 uses the Free-BSD TCP/IP stack? Exactly is it that every release of windows has more and more unix like features....



# February 17, 2004 7:44 AM

Don X said:

*nix vs ms?

If the *nix whingers stopped whining, they might actually move their technology past where it was 20 years ago.

Let me see if I get this right - Linux/BSD is free and you still can't get people to use it?
# February 19, 2004 12:39 AM

TrackBack said:

# February 20, 2004 12:01 AM

TrackBack said:

# March 16, 2004 2:24 PM

Thomas Lee said:

MSH Moves on.

MS has made a new drop of MSH available to testers. Some big language changes (as to be expected) but some GREAT thinking. I've put some stuff up on my blog if anyone's interested!
# April 14, 2004 4:55 PM

Jason said:

Thomas,

I've been very quiet on this subject due to the beta NDA. Wish I could post more about the new features, but there's not a public source of info about the new build that I could have learned from out of NDA, so for now I can only post on bits I have seen during the PDC demos.
# April 15, 2004 8:35 AM

stefan demetz said:

will this put all the Unix pipe | fans on the defensive?
# April 21, 2004 2:47 PM

GUI killed the Daemons (*Nixii) said:

OK.

Name says it all.

I hear you *nix Losers trolling MS for not doing it this way or doing ot that way.

MS has more marketshare than *nixes and how can that be since they had a head start and evrything tends to grow exponentially...

Ever wonder why...

Superior marketing and giving it to the consumer "their way". Read into it as you like.

Hell, this new shell may turn a few more of the "Daemons" to see the light...

10+ years of Linux and the like and they still don't quite own the market despite the trade rags saying in 97' they were now on a competitive level in the market.

Maybe in another 10...

Keep trying...

Wake up people.

MS has done more to educate the masses than any goon in the clergy of *nix ever did.

Or did you forget those dark and unwieldy days when the blind led the blind and no those of the Unix Church didn't think much of security either, it wasn't a concern...

Cuckoo's Nest by Clifford Stoll sparked an interest.

Clue: Mitnick's been FREED...

Whew!

Get over it...

Each OS has its advantages...

Take them as you will.
# May 22, 2004 5:36 PM

Roshan James said:

I just started writing about Monad too. Amazing stuff.
# June 10, 2004 7:34 AM

Roshan James said:

Sorry, wrong url in the last comment
# June 10, 2004 7:38 AM

Chris said:

This is awesome. This is the only thing that I have really missed, and continue to really miss, in Windows. With this, I will be able to really do things that I would do with small shell scripts in Linux. This is GREAT! I can't wait to install it...

-ee99ee
# June 20, 2004 4:28 PM

LKT said:


After reading most of the comments including the flaming about msh (monad) its quite obvious a number of people a willing to make comments whether against or for this without clear knowledge of what Monad actually is or does.

Personally, I think Monad is potentially a very positive step for m$. Yes it is vastly behind in relation to the unix equivilent shells but it is finally here.

The major positive note about Monad is that it attempts to introduce a standard for command line interface to most aspects of the M$ environment. Where as before one had to write a vbscript to do some things, batch for others etc etc, with Monad, the user potentially has the capability to use one method to access components such as Exchange, Active Directory, File Systems, IIS, Registry, .NET Components etc which (ignoring the security aspect) can only be a positive thing. The main flaw is integration of third party components, but as SDKs and plugins become available this flaw too will be removed.

In reply to the unix v microsoft flaming, yes the unix shells have been around for much longer but are they really that much better? My experience of unix from Open Unix, AIX, Unixware, Solaris, Linux, BSD etc has been that problems exist with all shells. The main problem with Unix is the issue of having to manually bolt together components; no matter what one says about Microsoft, they do (now, not in the past) provide a capability to bolt components together (WMI/Monad/etc) and Monad providing a standard interface for this is very positive.

In terms of Security, I believe Obscurity is not the best form of Security. If host and network based security defense measures are implemented correctly this should not be a problem. In terms of application bugs, these exist with both M$ and Unix applications and if an intruder is determined, im sure that they will achieve their goal.

My view is if one believes that there are problems with any aspect, why dont they attempt to do better themselves. If they don't have the capability to do this, why not provide comments to vendors so that they can possibly include improvements rather than flaming randomly across forums. Yes there is no definitive resource to do this currently but i'm sure if enough people have the same attitude and vision, one will be created in the future.


Cheers, Andy.
# June 23, 2004 6:41 AM

TrackBack said:

# July 6, 2004 1:24 AM

TrackBack said:

# July 6, 2004 8:22 AM

Dragonlord Warlock said:

What I find interesting, is all the new innovations of Microsoft are things that been done in the past on other OSs. Sure, MS numnuts might gloat about how new is their implementation but what use is it for accomplishing real work quickly. Back in the days of OS/2 3.0, I wrote REXX command scripts that executed other command scripts on parallel treads with interprocesss communication through pipes. Something you cannot do easily even with Windows XP. Maybe they achive it with Longhorn, I don't know; but it will not be "new". You cannot even claim objects as being new, since REXX Objects were around since OS/2 4.0. I do agree that OS/2 is finally showing its age now, yet it still can tie up windows for such an old gunslinger. Infact on any Windows computer I use, I always install Regina REXX while its not as good as the native REXX of OS/2 its a far cry better and easier to use than Windows batch and WSH, especially since what I usually need is not a fancy interface to the GUI. I much prefer better data processing.
# July 27, 2004 1:55 PM

movie said:

[href=//www.dmoz.net.cn/ title="wangzhidaquang"]
[href=//www.86dmoz.com/ title="jingpingwangzhi"]
[href=//www.kamun.com/ title="mianfeidianying"]
[href=//www.kamun.com/ title="dianyingxiazai"]
[href=//www.kamun.com/ title="MP3 free download"]
[href=//www.pc530.net/ title="diannaoaihaozhe"]
[href=//www.5icc.com/ title="duangxingcaixingxiazha"]
[href=//www.dianyingxiazai.com/ title="dianyingxiazai"]
[href=//www.yinyuexiazai.com/ title="yinyuexiazai"]
# August 2, 2004 2:18 AM

johndude said:

I been programming with MS since windows 2.0, I been defending them all these years, but I have given up using windows! There is so much more flexibility and simplicity with unix.

I now use Linux for cheap web/office servers, and Mac OS X for my desktop and laptops.

For goodness sake microsoft, just release a unix core version of your OS, or you will loose more developers like me.

I have developed for .Net for a few years now, and MFC before that, etc. Even though I liked .Net and C#, that was not enough to hold me on the platform. I dont think another microsoft-only NEW command line scripting language would really help me.

# August 2, 2004 8:19 PM

Dan Tepper said:

so they've ported the bash shell - who cares - most windows users cannot type anyway.

what they need is a more graphical command line - perhaps one where you could run programs by dropping icons on the prompt or using a wizard/gui to paste the command text into the shell.

it would be really cool if the command prompt had a user-selectable background wallpaper - that would really help usability.
# August 3, 2004 1:41 PM

opticalmess said:

Monad is quite the tool... It will be nice to have a unix equiv. or better with all the power of .NET.
# August 3, 2004 6:45 PM

TrackBack said:

# August 26, 2004 8:16 AM

TrackBack said:

squirrel_kingdom# &raquo; SCHEME SHELL
# September 15, 2004 10:33 AM

TrackBack said:

Nos ultimos dias tenho andado "entretido" com algumas coisas interessantes: - MSH (code name MONAD) Aquela que vai ser uma das grandes novidades do Longhorn / Server 2005. A nova Windows Command Shell. Se para muita gente vai ser apenas...
# October 24, 2004 1:48 PM

TrackBack said:

<p>... I don't need a verbose language to program in!</p>
<p>For the longest time I thought that the equivalent of backticks in UNIX (substituting \`*cmd*\` with the output of *cmd*) was impossible in Windows. It probably is impossible pre-Win2k, but I ha
# January 28, 2005 5:40 PM

TrackBack said:

According to a new article on Tom's Hardware, http://www.tomshardware.com/hardnews/20050613_184624.html&nbsp;MONAD...
# June 13, 2005 11:08 PM

TrackBack said:

If you were at the PDC last fall you might have heard about Monad. That's the code-name for a new command shell. Jason Nadal,

# June 22, 2007 6:23 AM

paulboutin.weblogger.com » Blog Archive » Going Windows said:

Pingback from  paulboutin.weblogger.com  &raquo; Blog Archive   &raquo; Going Windows

# May 28, 2008 4:18 AM

TrackBack said:

If you were at the PDC last fall you might have heard about Monad. That's the code-name for a new command shell. Jason Nadal,

# June 4, 2008 9:03 AM

nil karaibrahimgil said:

This informations are very useful

Thanks a lot...

King Regards!

# July 15, 2008 7:30 AM

yale universtiy real estate investing said:

Simply put, no. It is our position that such circumstances represent what could more accurately be referred to as a coincidence of interest. It is entirely possible that a contributor to a campaign has given money to their candidate of choice because

# July 30, 2008 12:40 PM

Scirione il graficAno, prenota un corso di dattilografia | hilpers said:

Pingback from  Scirione il graficAno, prenota un corso di dattilografia | hilpers

# January 21, 2009 10:51 AM

Changement de nom de domaine | hilpers said:

Pingback from  Changement de nom de domaine | hilpers

# January 22, 2009 9:32 AM

Preston L. Bannister { random memes } » Scripting inspired by Monad - for Unix said:

Pingback from  Preston L. Bannister  { random memes } &raquo; Scripting inspired by Monad - for Unix

# January 30, 2009 8:48 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)