Windows to Have Better CLI 742
MickyJ writes "The command line interface to the Windows Server OS will be changed to the new Monad Shell (MSH), in a phased implementation to take place over the next three to five years. 'It will exceed what has been delivered in Linux and Unix for many years', so says Bob Muglia, a Senior VP at Microsoft." More from the Tom's Hardware article: "The language in Muglia's comment offers the first clear indication that WMI may be yet one more component being left behind, as Microsoft moves away from portions of Windows architecture that have historically been vulnerable to malicious attack."
Better late than .... (Score:1, Insightful)
It's about time (Score:5, Insightful)
Microsoft ignoring the command line is just as silly as ignoring the Internet. It's only taken them longer to realise because only power-users and sysadmins are affected instead of every user.
Hmm... (Score:2, Insightful)
On the other hand... (Score:1, Insightful)
and introducing a new avenue of attack.
ooooh (Score:3, Insightful)
How about announcing great new technology that actually works today?
Better than Bash? (Score:3, Insightful)
As if... (Score:1, Insightful)
They've been saying they are going to deliver things better than Unix for the last 20 years yet somehow they can't
Those who do no understand *nix are doomed to repeat it.... In a shallow, bloated, insecure and doomed manner.
Cheers,
Nick
Re:vaporware (Score:2, Insightful)
Right, because endless feedback, coding, feature requests, bug squashing, and use of the *nix shells for how many years now isn't worth anything.
Open mouth, insert foot.
Vaporware (Score:1, Insightful)
In other words, this is vaporware.
Re:vaporware (Score:3, Insightful)
Re:vaporware (Score:4, Insightful)
Yeah, but (Score:2, Insightful)
Competition and interest (Score:2, Insightful)
- More power to the Windows sysadmins
- Push the evolution of some of the apparently stagnant Unix shells
- This time see a difference between major versions of Bash (I mean I use Bash everyday and didn't see a difference between 2.x and 3.x, I mean a big difference).
-
strcpy, providing root to hackers since 1972!
Re:Those who do not understand UNIX.... (Score:2, Insightful)
Soon they'll be storing config in files, and have a CLI only version of their server.
An this is bad, how?
Too similar to perl (Score:2, Insightful)
So.. I wanted to know what the language could do, what it's feature set were etc. so I went to the quickstart guide at the MSH Wiki site ( http://channel9.msdn.com/wiki/default.aspx/Channel 9.MSHQuickStart [msdn.com] ).
IMHO this looks a lot like perl, but with enough changed so people dont start looking through their code for 'Copyright (c) Larry Wall'... This is real innovation.. whatever.
Forgive me for being naive, but couldn't Microsoft just develop stronger Windows bindings for Perl? It's battle hardened, already widly known and documented around the work.. not to mention you would ge the benifit of CPAN for additional modules (Would you trust Microsoft to write your date manipulation functions? hah!)
And we all know somebody will work out how to run MSH code from deep within some other subsystem-by-proxy and inevitably cause another wave of virii (by this time Microsoft will be touting it's anti-virus software etc.)
Oh the end is neigh, the sky will fall, etc. etc... I'll just shut up now and get back to some work.
Re:Next Slashdot Headline (Score:1, Insightful)
Longhorn delivers best of breed, industry leading features
Today, Microsoft announces exciting new features in Longhorn, the long-anticipated new version of Windows(tm).
Windows(tm) had alwayas offered leading-edge innovation and world class product quality. Today, with Longhorn, we leverage these capabilities and continue to deliver our customers exceptional value.
Longhorn consists of the following features and innovations, available in late 2006:
* The "My" prefix is removed from "Computer" and "Pictures" to provide a more unified, consistent interface. For your convenience, we have not replaced it with "Our".
* A new command line interface will be added.
Other features, such as the Avalon display layer and the new WinFS(tm) file system, have been postponed for the new Bovine release in 2010.
As always, thank you for choosing Microsoft products. It is always our policy to exceed our expectations through redefinition.
Re:ooooh (Score:2, Insightful)
The purpose of a CLI is to give you straightforward access to the machine's commands and to provide straightforward access to the machines commands and the ability to connect them in interesting ways. The power of a CLI should come from the commands that a system exposes, not language features. That's why regular expression support is an external tool (sed) instead of a built-in to common shells; it puts the complexity where it belongs.
The mark of a good CLI is simplicity and straightforwardness. The complexity belongs in the commands, not the syntax or the language.
Re:ooooh (Score:2, Insightful)
Re:vaporware (Score:3, Insightful)
So, you've seen the marketing materials, but haven't actually used the product?
Microsoft has excellect marketdroids and sales weasels. Their actual software doesn't usually live up to the expectations given by their marketing.
Re:WTF? (Score:3, Insightful)
Re:vaporware (Score:5, Insightful)
I hate to be in any way sticking up for Microsoft, but don't underestimate the value of starting from a clean slate.
Apple has done some pretty nifty things, for instance launcd [slashdot.org] . I know it's not popular with everyone, but I think it was pretty cool replacing all these different scipts and daemons, and having one XML based config file. They simplified by daring to question established wisdom (the "We've always done it this way so it must be perfect" mindset.)
Re:WTF? (Score:3, Insightful)
2. Goto http://beta.microsoft.com/ [microsoft.com]
steps removed......
7. Wait for the information to be sent to you through email. (May take a day or two)
8. Once you receive your confirmation email, log back into http://beta.microsoft.com/ [microsoft.com] for the content
Sweet Jesus - and to think that some people think that Microsoft software is easy to use.
why not posix? (Score:3, Insightful)
I seem to remember Microsoft's new "scripting" and CLI mentioned before, and descriptions of its powerful features. Basically it was described as object-oriented in architecture with claims of superior technology then!
From the article: Monad was started as a project to provide a more powerful command line competitive with the BASH shell on Unix and Linux, using ideas gleaned from WMIC, but using the .NET Framework as its core component instead.
What concerns me is not Microsoft's improvement of their technology, especially their CLI (as a long time forced-to-use-DOS CLI, believe me, it's long needed the overhaul), but Microsoft's yet another implementation of a primitive that goes against quasi standards, albeit in this case a fairly high level standard.
I wonder why they wouldn't implement a POSIX compliant shell... that would go oh so far to allow portability of apps across platforms. Instead they come up with their idea of CLI.
I know there's always cygwin to handle POSIX scripts, but I find it slow, and difficult to manage effectively in the morass that is Windows. Certainly a POSIX-like interface in Window's CLI would attract more scripters if Microsoft supplied their own native implementation.
Otherwise, what is the motivation? Once again, with Microsoft's leverage and monopoly, it feels like a new "product", that if they can leverage with their monopoly, they continue their assimilation of another niche in the marketplace.
Re:WTF? (Score:4, Insightful)
However, until I actually see it implemented I am regarding it as vapor ware and the latest noise from the MS executives version of WWF trash talk.
The GP merely pointed out that there is a beta implementation available. Therefore, widely-installed or not, it's hardly vapour-ware.
You may have meant "shipped with Windows", but you actually said "implemented".
Re:It's about time (Score:2, Insightful)
Well to be fair there have been alternative, and powerful, command-line tools for Windows systems for a very long time. Just last night I threw together a perl script to perform some tasks.
While I have access to the beta of this product, I haven't looked at it extensively and thus this should be taken with a grain of salt, but my first impression upon seeing this mentioned on blogs.msdn.com was "Jesus...someone else with NIH syndrome". Does the world REALLY need another scripting language? Do we really need to go back to the drawing board yet again? I understand that they want to leverage some of the great
(I'm talking specifically about scripting as the scripting language seems to be the bulk of Monad)
Re:random current cmd gripes (Score:2, Insightful)
Re:WTF? (Score:2, Insightful)
I knew there had to be a catch.
Re:Those who do not understand UNIX.... (Score:5, Insightful)
Heck, this is probably what's taking them so long to actually release Monad. It's one thing to create a scripting language, it's another thing completely to create hooks that allow you to actually administer systems with the scripting language. UNIX has the advantage that A) everything is a file, and B) nearly all configuration files are some sort of structured text.
Microsoft is all excited about being able to pipe objects on the command line, but that's really only because that's what Microsoft has to work with. All of the information that you want is locked up in some poorly documented binary file somewhere that was designed to be accessed from some sort of GUI. The beauty of UNIX's strategy is that I don't have to read some sort of API for a certain configuration object. Instead I simply eyeball the text files and use a vast array of text manipulation tools to do what needs doing.
Re:vaporware (Score:4, Insightful)
You previous post strongly implied that you had only seen marketing materials and not used the product; thanks for clarifying that.
I'm not jumping to the "Oh, it's from Microsoft and it must be stopped!" conclusion that most of Slashdot seems to jump to anytime Microsoft does anything.
I work at an almost-all-Microsoft shop that develops, uses, and supports a custom application running on Windows. My comment about hype not living up to reality is from experience.
They make some good products, some bad. But almost all are hyped up beyond their actual working capabilities.
Microsoft is not unique in that respect, either.
Re:It's about time (Score:3, Insightful)
Re:Better than Bash? (Score:2, Insightful)
Diff between xterms and fullscreen consoles. (Score:4, Insightful)
Also, if X isn't running, using the X clipboard would not be very useful.
There are some features that would be nice to see when a shell program is running in an xterm, but keep in mind that shell programs also have to run in environments which are totally detached from the X server...
Re:It's about time (Score:3, Insightful)
Of course, I've been using 4DOS (now 4NT) for something like 15 years. I can't imagine any power user who wouldn't use something like 4NT or bash or any of number of shells with real functionality.
Re:It's about time (Score:3, Insightful)
It still has attrib, mem, and most of the other old DOS commands. dir still has the same options, and starts out by listing the drive label (if any).
Don't tell me cmd.exe doesn't look and smell like DOS.
Re:vaporware (Score:5, Insightful)
Anyway, point by point:
On this, we'll have to agree to disagree; I've seen XP crash a handful of times: a few times when it turned out my graphics card was faulty (this crashed Linux, too) and once when I was copying a file from my Linux comp to a friend of mine's XP comp via samba. The latter is inexcusable (but funny side-note: my friend blamed "Linux's crappy Samba implementation", even though it was his computer that crashed, not mine!). The rest of the time, my XP computer at work truly does run and run, requiring a reboot only when a critical Windows Update is required. Your experiences are apparently different. This is true - KDE has been getting faster and more memory-friendly - check out the "top" output for KWrite (or is it Kate) under the KDE4 prototype code. I'm very pleased with the progress of KDE, and a recent talk by Robert Love (on optmising GNOME) shows that the Desktop Linux developers are very committed to reducing bloat, which I couldn't be happier about. However, the fact that KDE is getting faster either tells us that something that's always been good is getting better, or something that was slow and memory hungry before is getting better - much like Mac OS X, which started out dog-slow but which has been improving in speed with each successive release. Respectfully, I'd have to say it was the latter: on my 256MB laptop, KDE starts to swap more and much sooner than XP does (i.e. with fewer apps open). Firefox consumes far more resources than IE (although admittedly it also accomplishes far more). Having said that, the focus on the Linux side is on getting faster (I'm drooling with anticipation at XGL), so on the speed/ memory consumption side I see Linux ultimately winning out. Cross-platform-ness is admirable, but a shell where objects are first-class citizens sounds pretty good to me. I determine the power of a shell by how much easier it will make my life.Re:vaporware (Score:3, Insightful)
Then you go on to paint a very rosy (and very distorted) little fable about how Windows has 'caught up' with Linux. It hasn't.
Linux is still far superior to Windows in terms of stability and bloat. Are the new NT-based Windows 'XP' versions more stable than the old DOS based ones? Yes, definately. Are they more stable than, say NT4? Not by much, if at all. Are they more bloated than NT4? Absolutely. Is it *possible* to install a bunch of bloat on a Linux system today? Absolutely! Is it necessary? Nope. So Linux still wins hands down on both comparisons - you can get a stable, lightweight linux install with very little work, you can get a stable, but still bloated, Windows install, but it takes more work.
Windows is still given to BSODs, so that is hardly an outdated criticism. (And yes, we all know that if you know what you're doing and put in the time to properly configure it, you can get it pretty damn stable. Linux doesn't require a lot of tweaking and freaking to be stable. Like I said, in this respect the situation is pretty much how it stood in the days of NT4.) Windows today is more bloated than ever, so just how is that criticism outdated? Clippy may have been abandoned, but it will always stand as a shining example of what's wrong with the MicroSoft way, so it remains a timeless reference.
And, btw, one of the few advantages of NT over Linux through all these years has in fact been the command line. Little known but true fact. Yes, the CLI that ships with Windows (true for all versions of windows since 95 - before that the CLI was shipped as a separate product but other than that technicality it's true all the way back to DOS 1) sucks donkey balls, but there's a horribly underappreciated replacement shell called 4NT that gives you the power of a *nix shell in a much friendlier package, and it's been around for years - it's a continuation of the old 4Dos shell.
So, from my perspective, your post misses just about every point.
Re:It's about time (Score:3, Insightful)
Re:vaporware (Score:4, Insightful)
Re:It's about time (Score:3, Insightful)
Your argument is that since a feature might not be available in all situations, it is a bad idea to implement it at all. Along your line of reasoning, all GUIs are evil, since you sometimes only have terminal access. Hell, if I'm stranded on a tiny island in the middle of the ocean, I don't even have a computer, so any software is evil by your logic.
Of course, any feature that a shell implements should fail gracefully. In fish (my shell), if there is no X server connected, fish simply takes care of it's own copy and paste buffer. But it does not make sense to have one such buffer for each shell that is running.
Re:Windows already has an excellent CLI (Score:3, Insightful)
Re:It's about time (Score:2, Insightful)
Re:vaporware (Score:5, Insightful)
I can't belive you wrote that page-long screed without even reading what he wrote. I see this kind of crap on slashdot all the time. The only "Microsoft shill" there is the strawman you set up. I'll bet if I go back through your posting history you've made the same speech several times.
I'm so sick of this kind of brainless Microsoft bashing. Most of the people here parrot the group-think line without having any idea what they're talking about. I suspect that means you, since my experience with XP is much different.
Right now at work I'm using RHEL for development and XP for gaming/taxes/whatever at home. Guess what? XP, in my experience, is more stable than Redhat. That's not shilling, it's just my experience. I've never (not once) had XP crash on me. I wish I could say the same for Linux.
It's true Microsoft pays "journalists" to come up with nice reviews in trade magazines. They know that's what non-technical management reads to make up it's collective mind. The only way Linux is going to make inroads into the corporate desktop is by being demonstrably better than Windows. That way the one or two honest tradesheet writers will write a nice article to give some backing to those of us that want to support OSS.
But how can Linux improve if a substantial portion of its advocates can't even fucking see it's not perfect? As the grandparent noted, every release of Windows narrows the gap. If Microsoft adds a shell that I can use from a remote machine that removes one of the three reasons I don't use Windows for serious work:
Oh, and by the way, don't bother accusing me of having "no knowlege" of the FOSS world. I've been writing and using FOSS since the internet was born. Have you?
probably.. (Score:3, Insightful)
i think the unix model fits unix really well right now, because so much of administration in unix is manipulating text.
Windows never had that - everything was locked away in some opaque object (good and bad, depending on your viewpoint).
The brain behind MSH was one of the WMI guys and he (rightfully so, i think) likes WMI but its too hard to use and too hard to author providers for (his thoughts).
But fundamentally, an inquisitive object based administration system is "good", especially when the underlying stuff is all object based anyhow. the key is to make these objects exposable in a generic, "composable" way, and thats what MSH is attempting to do.
Really, the approaches might be similar. Consider a script i might write to give me the usernames and home directories on my unix box
cat
(apologies if i mis-remembered the field numbers for homedir)
my apology sort of makes the point- administrators are required to understand the internal format of UNIX's text files, and to remember/consult them for tool development.
a comparable approach might be
get users | pick name, homedir | tabout
which is more readable? which is more reesilient to changes in the way users are stored? Does the first example work on NIS+ ? LDap ?
So the goal here is to take the good things about OO (hiding of internal implementation) and the good things about a consistent format (flat text, in unix) and somehow merge them. I'd much rather remember that users have a name and a homedir, than what positions those properties have in one type of user database.
It gets uglier when your text data is working with "cut". For instance, something i'll do from time to time is
ls -l | cut -cX-Y |
where the X-Y range is something i want from the ls -l output. (say filesize). That is hugely problematic - have to tweak the character range until it "seems" right, and what happens when my tty capabilities change (to say, a 20 char tty ?) or, what happens when a file size is larger than the allowed column width? or what happens when ls is an alias to "better ls that auto-sizes columns".
again, something like
get files | pick size | sort
hides this crap from me.
So, actually, i think linux could have a shell that did stuff like this. But what linux lacks is the rich set of objects to hide the implementation details of the things you want to do with linux. when linux has a consistent set of management objects then something like this getspossible.
Of course, windows doesn't have a complete set of management objects either, and besides, we dont have management objects for apps we dont write - you'll surely want to use the same scripts/shellto manage your custom apps. So a important part of msh is the ability for people to author their own object providers that can plug-in to the framework easily.
The make-or-break scenarios for msh, in my opinion are
1) clever ways to promote text,xml, etc into objects for legacy systems
2) objects for a sufficient portion of the management surface to make it worth peoples time to use
Re:Better late than .... (Score:2, Insightful)
Re:Balls? (Score:4, Insightful)
Well... I've played with technological preview of Monad. Being bash addict, I must however admit, that Monad offers functionality beyong imagination of modern Linux shells. It passes objects through pipes instead of text and is strictly object oriented. It uses a model of namespaces, so in Windows, you are able to browse registry, file systems, environment variables, etc. in unified way.
The authors claim, that it's modelled after the VMS shells. VMS seems to regain its fame in Microsoft, with Windows NT kernel being originally designed by Dave Cutler - a VMS guru.
Monad really rocks and is worth trying.
Re:Apocryphal Story (Score:3, Insightful)
Re:vaporware (Score:4, Insightful)
Of course it exists, I don't think I've ever seen anybody claim it doesn't exist. But it can only be caused by *hardware problems*... that's the part that Linux users seem to miss all the time.
If WinXP bluescreens more than Linux, the only thing that tells you is that most WinXP computers have cheap faulty hardware in them... and really, isn't that common sense anyway? (After all, anybody who knew PCs well enough to use Linux also knows how to build a computer with quality components.)
Way to go, team "miss the point by a mile" (Score:3, Insightful)
The whole Unix design is based on the idea of unified file descriptor and a single filesystem tree. Windows still lacks those, and this shell is not even trying to emulate them (like what cygwin does).
Re:It's about time (Score:3, Insightful)
If your criteria is "Microsoft making their own web browser" then by your standards, Apple didn't start paying attention to the Internet until 2002... what sense does that make?
I'm sure Linux and Unix had PPP dialers in 1994-1998, but nobody used it in their home, so that's kind of a moot point.
To me this whole "Microsoft ignored the Internet" thing sounds like FUD from anti-Microsoft Linux users.
Re:vaporware (Score:3, Insightful)
Right. Because it's not like one of the keystones of Microsoft's empire is backwards compatibility. Nope, they never go out of their way to make sure old stuff still works on newer versions. That's Microsoft, all right.