Microsoft Next Generation Shell
An anonymous reader writes "I found this while searching for Perl Jobs in India:
"The Microsoft Next Generation Shell Team is designing and developing a new command line scripting environment from the ground up. The new shell and utilities, based on the .NET Frameworks, will provide a very rich object-based mechanism for managing system properties. To be delivered in the next release of Windows, it will include the attributes of competitors' shells (e.g. aliases, job control, command substitution, pipelines, regular expressions, transparent remote execution) plus rich features based on Windows and .NET (e.g. command discovery via .NET reflection API's, object-based properties/methods, 1:many server scripting, pervasive auto-complete)."
I liked this the first time... when it was called Cygwin.
--
"What do you want me to do? Whack a guy? Off a guy? Whack off a guy? Cause I'm married."
bashWinXP
KFG
"Candidates should have Windows NT or Windows 2000 system programming experience, development experience with object-oriented languages and design methodologies as well as with scripting and shell languages like PERL, Python and Bash. Candidates should have at least 2-5 years experience (based on level interviewing for) in high technology, preferably delivering products for both Windows and non-Windows operating systems."
I guess Microsoft has viewed users of other platforms as important before (recruiting of Palm developers) but this seems like a direct call to Unix (mostly Linux) developers to make Windows shell exactly like other existing technology. Though I can't say I'm surprised, I think this is one of the first times where Microsoft seems to have stated that they are persuing similar technologies.
All my friends who learned to program computers (ok, Windows) in the 90's think it strange that I keep one or more command prompts open to get work done. Besides having 'grown up' with prompts, my argument is that the core of programming is algebra+logic, and text makes a pretty good notation for both of those things... it's a much better graphical notation than anything developed in the last 40 years. So it's heartening to see even MS come back around to the way things were.
It would be interesting to know just how much of Microsoft's "future devlopment" are being made in India. My guess is that the OS, Office etc continue to be further developed by the team(s) in Redmond, but most new products/services are being developed in India.
Let me guess what's next down the pike: a /proc filesystem, a serial console capability, runlevels, and a package manager with dependency feature.
Hmmmm...
This is a good step, but what good does it do to have a top notch shell, when the vast majority of windows programs are gui based?
Are they going to release command line versions of most of their administrative tools?
Any windows sysadmins out there feel free to correct me if I'm wrong, but its generally not the lack of shell features that keeps me from using cmd.exe, but rather the number of programs that you can run with it.
Actually, I'm really intrigued about the possiblity of having a "strong" shell on Windows. It's one of the main reasons I can't find myself using Windows for much.
;)
Usually, if I had to...I just installed Cygwin and used it from there. However, the interaction between the actual Windows environment and Cygwin was a little cumbersome--but usable. I've written some crazy shell scripts using Cygwin, but trying to run a Windows command using variables from the script can be tricky, for example.
However this opens up some other nice possibilities for a Windows environment. If the shell they create is complete enough, you may not even need stupid "remote control" apps, instead you could just SSH into the box and take care of things.
On the other hand, I guess it just makes Windows easier to crack too
-brain
Trying to stop/start Unix services remotely through ssh is a breeze. We gave up trying to use VNC (and others) remotely for Windows services since the performance was so bad.
You guys didn't research this too hard, huh?
Look, in contrast, at the "next generation UNIX shell", rc, from Bell Labs. "rc" intends to simplify, remove unnecessary functionality, and factor out features like job control and command line editing.
Most of these capabilities are already in Windows Script Host, which has been standard in Windows for years. What's new, I suppose, is that this version is based on the .NET Framework.
For years now MSFT has said that their platform is more user friendly by providing nice GUIs for all admin modules.
For them to turn around and now build this super-shell basically amounts to admitting that a GUI based aproach does have some serious shortcomings and that the UNIX way of allowing everything to be scripted provides serious benefits which are hard to come by if everything is accessed through a GUI. If nothing else, this validates the UNIX way of doing things and should make it easier to argue this point when competing for (a) large (number of) server installs/farms.
Leaving aside the question of what a "very solid GUI" might be or whether Microsoft can even remotely be argued to have one, you are ascribing too much long-range planning to Microsoft.
Microsoft responds to the market like a leaf in the wind. All their various approaches to GUIs were driven by a panicky reaction to competition. Their first GUI was a reaction to Macintosh. MFC was driven by the success of competitive object oriented GUI libraries. The 3D look was a reaction to Motif. GUI builders were a reaction to third party tools and NeXT. RDP was an attempt to clone X11's remote access features. And their latest, C#/CLR is basically a Java clone.
Now, Microsoft feels extremely threatened by Linux, both on the client and on the server, and they are desparately trying to clone the essence of Linux so that their servers won't become completely irrelevant.
Microsoft doesn't plan or strategize anything for the long term. Microsoft is driven by paranoia, "not invented here", and the usual geek attitude of "if we implement it, it will be better". Nothing could be further from the truth, of course.
Bill said many years ago that he doesn't assign programmers to projects unless the project will make money for Microsoft or advance its strategic goals. Making customers happy is not a sufficient reason.
That's how business works. You can't make every customer happy. That's impossible. Gap can't have a rack of clothing designed to perfectly fit every single individual that comes in there. Not possible. I have a small store. I can't have *every* item that every customer has ever asked for. That's not possible, either. But, at the same time, you DO make money by making as many of your customers happy as possible. That makes 'em buy. Kinda' basic. Contrary to the popular Slashdot opinion, MS doesn't have legions and legions of pissed off customers. If they did, then Apple would be huge today. So I agree, making customers happy alone isn't a sufficient reason, but it is a major part of deciding what to implement when.
"Those who don't understand UNIX are condemned to reinvent it, poorly." -- Henry Spencer
"The invisible and the non-existent look very much alike." -- Delos B. McKown
Bill said many years ago that he doesn't assign programmers to projects unless the project will make money for Microsoft or advance its strategic goals. Making customers happy is not a sufficient reason.
Do you really think that BillG got to be worth $40 billion by making customers UNhappy? Do you really think that 93% of all end-users are masochists? Do you really think that people in a free market choose of their own free will to buy inferior products?
Or do you suppose that Apple [Macintosh] & NeXT [NeXTSTEP] & Commodore [Amiga] & Novell [DrDOS/NetWare] & Digital [RSTS/VMS/True64] & Sun [SunOS/Solaris] & IBM [OS/2] & Linux [Gnome/KDE] couldn't [and, to date, still can't] get their heads out of their asses for long enough to give the consumer he wants: An inexpensive platform that allows him to copy from a text editor, paste to a spreadsheet, and vice-versa, without having to go back to school to get a goddamned PhD in the minutae of Bourne Shell scripting [much less artificial intelligence, LISP, and emacs]?
Wow, a hugely complex scripting environment with hooks into every aspect of the OS.
.... Again!
Virus writers - here is your big chance to spread like wildfire through windows machines!
There are a thousand forms of subversion, but few can equal the convenience and immediacy of a cream pie -Noel Godin
Microsoft: We Invented the Shell in 2003.
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
Hasn't Amazon got a bunch of patents on this?
If you were blocking sigs, you wouldn't have to read this.
Because I don't have one. I don't want to go and get one either. Really, why would I want to learn how to use a piece of new software when the CLI version does it perfectly well?
FYI.. .I was at the USENIX/SAGE L.I.S.A Confrence 2002 in Philly a few weeks ago, and some guys from Microsoft had a late night get together to talk to us unix people.
I couldn't not go, after all it was Microsoft at a 100% NIX-only event, so I figured some fun would be had at their expense..
It was called: UNIX + Windows Admin Management with Scripting & Command Line: What are your requirements?, and was on thursday night.
The point of the meeting is that, they wanted to know from UNIX admins what makes a good Command Line environment and what it would take to make Windows have as powerfull a CLI as Unix.
They pretty much told us that there is a LARGE high-level project at Microsoft to make Windows servers to be as easy to manage and configure as Unix servers from a serial port with no gui required.
What is their REAL goal:
From what I could tell its simple... they want to eliminate the competitive advantage that UNIX has with the CLI. That this away from NIX as a "advantage", then thats one less think people can point to as something that Windows lacks.
They want to be able to honsetly say... "Unix isnt any easier/more-powerful on the CLI than Windows."
After all, that is one of the SINGLE LARGEST differences there are today between their product and NIX.
Take that argument away, and you have a huge marketing/argument weapon against us NIX people.
-- Given enough time and money, Microsoft will eventualy invent UNIX.
tcsh can. Guess the problem is still solved. tcsh can expand command from other 'completors' other than just the $PATH. Like, type mount somehost: and it will try to expand from the output from 'showmount -e' for example. Granted, they aren't reflection API's but that's just another buzzword to me :)
It's not necessary to carefully avoid reading the very short page that this story is about. It's not necessary to make a (completely wrong) wild speculation that is trivial to double-check just by glancing at the final line of the job posting. It's not necessary to embarass yourself in public. The final sentence of the job posting says:
Of course, this is the first time anyone on Slashdot ever posted something incorrect without reading the story in question, and doubtless no one will ever do something that silly ever again.
Professional Wild-Eyed Visionary
- Having both Gnome and KDE is good because the competition will cause both to get better
- Having a Linux/UNIX desktop environment is good because the competition (with Windows) will cause both to get better
I've seen these kinds of arguments spouted repeatedly by purveyors of the Slashdot party line, and I've even made a few myself. What we have here is a confirmation of the underlying idea: that competition improves products.Plan and simple, Microsoft is competing. They've acknowledged a strength in a competitor's product and are (finally) going to tackle it head-on instead of with shady business, cash, and lawyers. They're going to try to build a better product. This is what we've wanted all along, isn't it?
I wish Microsoft's programmers the best of luck in creating these new features. They will most likely be a great improvement to the Windows platform. Likewise, I wish the Linux/UNIX communities the best of luck in creating new features to greatly improve Linux/UNIX. I believe that competition between the two groups will significantly advance the start of the art in software. Microsoft is ready to play serious but fair ball, and it's up to the rest of us to build a winning team and play the game. Humanity stands only to gain.
Washington, DC: It's like Hollywood for ugly people.
Another proof comes from that site:
:-)
You can download the huge current tree in standard gzipped tar format, but be warned: it's about a megabyte right now.
IIRC, Microsoft didn't warn us explicitly before downloading the 100 Mb Service Pack for Windows XP.
Beware: In C++, your friends can see your privates!