Will Windows continue to be Windows?

Microsoft's latest operating systems are boasting a great "new" feature, Windows PowerShell. If you haven't seen PowerShell yet, it is a complete ripoff of the Unix-based shells that have been around for decades. Over the years, Microsoft has continuously made its software completely GUI-based, point and click, and has criticized other operating systems that used the command line. Windows had a shell type of program called "cmd" or "command", but it was extremely limited. All of a sudden though, PowerShell popped up and now products like Exchange Server 2010 utilize the shell extensively. In fact, there are some features of Exchange 2010 that can only be accessed with the shell, and not through the GUI-based Exchange tools. It seems Microsoft has done a complete 180 on its stance.

It's pretty clear that Microsoft has discovered the value of the shell, since it has integrated it into Windows Server 2008 and Windows 7, the latest operating systems. However, other more stable operating systems like Unix, Linux, and other flavors of Unix, have used shells like ash, bash, and others for decades. And, they have proven to be essential. The shell is an extremely lightweight yet powerful tool for tackling just about any operation you could want. The nice thing is that the shell is completely text driven, so that it can be used over small data links like modems, even though modems are becoming extinct these days.

But, Linux and other Unix flavors still have an advantage over Windows. Decades of refinement for one. Windows' implementation of the command line is still a little limited. It would take Microsoft quite a long time to catch up and try to match the huge array of command line tools available with Unix/Linux. Also, Unix/Linux is still (thankfully) based on the command line, then the X11 Window System adds the GUI-based functionality on top of that layer. This provides easy troubleshooting when X11 has problems, and is even more ideal for servers where you don't need X11 running on the server all of the time, so that administrators can perform tasks from the command line without tying up other resources that would have been used by X11. Microsoft Windows has the GUI-based piece running 100% of the time.

Moving forward though, what will Microsoft's operating systems be called, if they become more and more command line driven? Will "Windows" still be an appropriate name?

 

Talkback

Appropriate schmappropriate. Think of the billions Redmond has pumped into the name. No way will it change. And why would you want it to?
manek 20 April, 2010 13:53 Reply

@manek, I just find it funny that while using the Windows operating system, a lot of the items are being done on the command line (non-windows). I agree they could never change the name. But at the same time I also find it interesting how they are now sporting the command prompt. And in fact with Windows Server 2008, they publish that it's basically stripped down to enhance security. It seems they might be catching on to how a real server OS should be.
apexwm 21 April, 2010 01:55 Reply

Maybe MS is finally waking up to the fact that people want, and need security, given the number of botnets, zombies, and infected windows computers worldwide. One would have thought it wouldn't have taken them this long to copy good practices from other resources.
Redmond changing the name from windows to something else is highly improbable, but stranger things have happened.
ator1940 21 April, 2010 14:11 Reply

This article contains a number of factual inaccuracies, not least of which is the claim that PowerShell is "a complete ripoff of Unix Shells." Whilst it's true that the idea of a shell came from Unix - Microsoft has had a shell of sorts for 30 years.

PowerShell is a shell too, and there's a pipeline and you can write scripts to do admin tasks. But the similarites ends there. PowerShell provides a number of features never seen in Unix, including a simple plug in method with discoverable integrated help, a provider mechanism, consistency in naming (that is enforced to a degree), remoting, full integration with .NET/WMI/COM, total object orientation, to name a few. Being able to pipe .NET objects means the elimination of Prayer-Based Text parsing Unix admins are forced into, and ease of extension must make aware Unix admins drool.

And as for PowerShell being limited - the author of this article clearly has not played with it or been on a decen training course nor has she appeared to have seen Server Core.

I don't mind the Unix folks rubbing it in that a shell is important. I don't mind VMS or Unix folks pointing out that shell scripting is a good way to automate systems admin. But to miss many of the innovative features is to rather miss the point.
tfl 25 April, 2010 20:32 Reply

tfl, I only meant to scratch the surface for basic operating system administration. For instance, personally I'd have no need for some of the extra features that you mention of PowerShell. My focus is that the shell should be accompanied by an array of utilities to support it, which with my experience with Windows, requires a lot of add-ons and extra items to be installed (like Resource Kits, .NET framework, etc.).

I am no guru with PowerShell, but I have used it along with a Unix/Linux shell and I prefer the Unix/Linux shell. Part of this is because it's been the same for the past 10+ years, and utilities that were available over the years are still there. Microsoft has a tendency to make utilities appear and disappear which is very frustrating. I have seen server core, and this is actually what finally made me realize that Microsoft is definitely trying to mimic the Unix/Linux structure by running a minimalistic system for security. However, server core isn't quite there. It's very limited, it has no PowerShell, which means it's still the basic crippled command line interface Windows has had for years. I like the fact that a Unix/Linux machine can be installed and running with the full suite of command line utilities there right out of the box.

I don't even know if I'd call the previous versions of the command line a "shell" for Windows (before PowerShell). Simply closing out a command box and opening it back up loses all history, and the list of commands was quite limited. I believe this is why you commonly saw those running Cygwin because Windows was crippled out of the box.

I'm not sure what you mean about "prayer-based text parsing". ?

I'm definitely not disagreeing that PowerShell is innovative because it is. But, in my opinion, it's about 15 years too late.
apexwm 26 April, 2010 17:18 Reply