Free Republic
Browse · Search
General/Chat
Topics · Post Article

To: tacticalogic
>> Good analogy. C# has a lot of useful, fancy features that save you having to code them yourself in straight C. Would I claim that C is at least as good as C#? Depends on what you're doing.

> You didn't seem to see any need to qualify that claim with regard to the shells, yet you admit the analogy is good. You were comfortable declaring immediatly and unequivocally that all the Nix shells were at least as good as Powershell, seemingly without needing to even give it any thought.

Powershell is a good shell. I'm not trashing it or dismissing it.

And BTW the Unix Bourne shell is decidedly weak. It formed the basis for an entire family of shells, but it is long past its prime, except when one wants to ensure backward compatibility across decades.

(Brief historical digression: As I recall, my first "shell" was DCL on RT-11, nearly 40 years ago. And my first programming was done in FORTRAN, and later, assembly and BASIC; I didn't hit C until the early 80's. I used COMMAND.COM when it appeared on the first IBM-PC (I managed to mostly avoid CP/M) and still do, when indicated. Many years later, CMD.EXE was a small improvement, but only small.)

I've used more shells than I care to count. Some were great, some sucked (I can't stand Csh, for example). Some helped do the job, others got in the way. Like I said above, "Depends on what you're doing". There is no single "best" shell. These days I'm somewhat partial to Bash. I write scripts that have to run on all sorts of servers and user machines, so portability is a strong driver; Bash is everywhere including Windows.

And in the late 80's I wrote the shell for a production industrial computer I helped design. It was both interactive and scriptable, and included about 50 of the standard Unix/VMS/DOS commandline utilities you would want available. Ran out of EPROM in an industrial process control environment. The computer is still in (limited) production, 25 years later, running that same shell. Trust me, I know shells.

You want me to do proper homage to Powershell. Ok, here ya go:

Take a look at the Wikipedia comparison chart of computer shells. Clearly, Powershell excels at a large number of things, and has many features that older shells do not. That shouldn't be a surprise, as it's pretty much the newest of the listed shells, and Microsoft was intent on loading it with more cool attractions than a carnival midway. (Perhaps that was to make up for the many years that Windows programmers and users had suffered with useless default shells, but never mind that.)

Powershell has myriad capabilities -- mostly specific for Windows systems -- but regardless, it is a long list of features.

In fact, there's only one thing that screams out, "WHOOPS!" in that otherwise mighty impressive chart listing. Portability, or rather, Powershell's utter lack of it. Like nearly everything else Microsoft, Powershell only runs on Windows, by design. Now granted, that's a majority of personal computers. But not a majority of the computers whose users work with shells. It can never become the default shell of most of the world's shell users and programmers. It is unavailable for Mac, Linux, Unix, or any other shell-capable environment, and will only get used by Windows folks. A shame. It deserves to get out and compete with the other shells; I think it would probably do well.

Meanwhile, when I write scripts that will work without modification on ALL of my machines, large and small, servers and user boxes, Windows, Mac, Linux, Unix, which I do daily, I will use a Unix/Linux shell like Bash. Not nearly as many bells and whistles as Powershell, but the proper fit of tool to task.

Now do you understand what I meant? "Depends on what you're doing."

103 posted on 05/05/2011 9:43:22 PM PDT by dayglored (Listen, strange women lying in ponds distributing swords is no basis for a system of government!)
[ Post Reply | Private Reply | To 102 | View Replies ]


To: dayglored
Powershell is a good shell. I'm not trashing it or dismissing it.

Saying that the Nix shell are "at least as capable" means at best, it's no better than the worst of them.

In fact, there's only one thing that screams out, "WHOOPS!" in that otherwise mighty impressive chart listing. Portability, or rather, Powershell's utter lack of it. Like nearly everything else Microsoft, Powershell only runs on Windows, by design.

Powershell was developed on Windows. There is no reason it won't run on other systems. The language spec has been published, and is freely available to anyone who wants to take it and port it to other systems. I have a copy (it's about 300 pages).

Before the formal spec documentation was written there was a project at Codeplex to write a port of Powershell for Nix systems called Pash, but it was never finished. I believe the lack of formal published specs was mostly responsible, but that's no longer an obstacle. There is nothing preventing Apple or anyone else from porting it to OSX or any Nix based system, or even MVS for that matter, except a bad case of NIH.

104 posted on 05/06/2011 4:06:49 AM PDT by tacticalogic
[ Post Reply | Private Reply | To 103 | View Replies ]

Free Republic
Browse · Search
General/Chat
Topics · Post Article


FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson