Posted on 05/03/2011 9:03:20 AM PDT by Swordmaker
Apple today updated its signature all-in-one iMac with next generation quad-core processors, powerful new graphics, groundbreaking high-speed Thunderbolt I/O technology and a new FaceTime HD camera.
(Excerpt) Read more at macdailynews.com ...
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.
If C# were significantly better than C, overall, wouldn't C have died out long ago, replaced by C#? To the best of my knowledge, straight C can still claim more programmers than any of the more featured variants. That's after roughly 40 years of people inventing "better" languages and trying to pit them against straight C.
Yes, I'm biased, as I state on my FR Profile page: "OS-wise I'm more of a Unix-head than anything else." After 40 years, it's still demonstrably the right way to do most OS-related things. Not everything. Most OS-related things.
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.
> 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."
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.
In that case, we can expect to see it on other systems, based on demand and interest. Apple wouldn't bother, I'm sure. But NIH has never been a barrier to the open source community developing non-Windows versions of Microsoft's programs, even in the face of obstacles like a) no source, b) no spec, c) threat of lawsuits, d) threat of criminal prosecution. It's simply a question of the program's functions being sufficiently desired by people who choose to not run Windows, or who wish to avoid paying Microsoft's price for the official MS product.
There certainly have been a number of open source development projects that found insufficient interest -- "solutions in search of a problem" -- and they died out. Such is the nature of open source projects.
According to the Pash code.google page:
Pash is an high level programming language well suited for system administration tasks and automation. Pash closely follows the syntax and APIs of Microsoft PowerShell. Pash includes a rich interactive command line environment as well as a hostable scripting engine for third party applications.There is "No Activity" shown on the project.Pash can currently run on the .NET Framework 2.0 or higher or Mono 1.9.1 or higher. Pash was tested on Linux, Mac OS X, Windows XP and Windows Vista. All contributors to the project are welcome, or any help whatsoever. We are especially looking for people with expertise at building parsers.
So it seems to me that Microsoft could further the adoption of Powershell by helping the Pash project come to life again. I can't think of a reason not to, since for very little outlay of their substantial resources (MS thinks nothing of dropping half a billion dollars on failed marketing and advertising) it would spread the word that Powershell is great and Microsoft designs good stuff. It would also improve MS's standing in the open source community and help offset Ballmer's years of blathering about it being a "cancer" and trying to crush it.
> I believe the lack of formal published specs was mostly responsible, but that's no longer an obstacle.
Then Pash should take off, eh? I'll check back to the Pash page from time to time. If you know of another page that documents progress on the project, please let me know. Thanks!
I'll take your word for it that Apple probably won't do a damned thing but bitch about Microsoft. It's the way of the ecosystem.
Discussion in the open community? (Got a link?)
Or internal at MS?
> I'll take your word for it that Apple probably won't do a damned thing but bitch about Microsoft. It's the way of the ecosystem.
I can't imagine Apple would see any benefit (from their POV) in dedicating resources to porting Powershell to the Mac. If Mac users want it, that will goose the open source community into action to produce a Mac port. Apple's got other much larger fish to fry.
And I can't imagine Apple would bitch about Microsoft, in this context at least. It's probably a complete who-cares to them.
I'll let you know when they get the project team together. In the meantime you can go back to the comfortable notion that it can't be any better than what you have now.
Now, now, needn't be snide. For the work I do, and the environments I work in, Powershell does not satisfy my requirements, that's all. It's not worth writing applications in a language, no matter how powerful, that isn't available for most of the machines I need to run the app on.
When Powershell is available on the machines I use and administer daily, I'll reassess its usefulness to me. Microsoft could great speed the arrival of that day by simply porting it to (say) BSD Unix or Linux themselves and releasing the resulting code; it's not like they can't afford the resources required, and they would be heroes as well.
I'm sure Powershell is the cat's meow in all-Windows shops. Neither I nor my company nor my clients are all-Windows operations. The days of "Any serious business has to be a Microsoft shop" are long over.
Which tool is more useful, which tool is better.... "Depends on what you're doing."
OS-X has six major flavors of the Bourne and Csh families of Unix shells already, any of which are at least as capable as Powershell
What I meant by that was that I can use those shells to do my work. Can't use Powershell.
When Powershell runs on the computers I use and administer, I'll reconsider its usefulness.
Until then, it's like a handsome, sexy male model in an advertisement. He may be attractive and exciting to half the population. But he doesn't do a thing for the rest of us. :)
Ever heard of “egoless programming”?
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.